퍼미션 관련 처리를 할 때 거부를 한 경우
유저가 직접 앱 설정에 가서 권한을 켜 주어야한다.
그런데 개발자가 아닌 일반 유저가 직접 찾아서 설정을 켜기에는 힘들기 때문에
대부분의 앱에서는 앱 설정창을 열어서 유저가 권한을 설정할 수 있게 유도한다.
유니티에서도 플러그인 없이 가능한가 찾던 중 유저가 작성해놓은 코드를 테스트. 정상작동 확인.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
try | |
{ | |
#if UNITY_ANDROID | |
using (var unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) | |
using (AndroidJavaObject currentActivityObject = unityClass.GetStatic<AndroidJavaObject>("currentActivity")) | |
{ | |
string packageName = currentActivityObject.Call<string>("getPackageName"); | |
using (var uriClass = new AndroidJavaClass("android.net.Uri")) | |
using (AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("fromParts", "package", packageName, null)) | |
using (var intentObject = new AndroidJavaObject("android.content.Intent", "android.settings.APPLICATION_DETAILS_SETTINGS", uriObject)) | |
{ | |
intentObject.Call<AndroidJavaObject>("addCategory", "android.intent.category.DEFAULT"); | |
intentObject.Call<AndroidJavaObject>("setFlags", 0x10000000); | |
currentActivityObject.Call("startActivity", intentObject); | |
} | |
} | |
#endif | |
} | |
catch (Exception ex) | |
{ | |
Debug.LogException(ex); | |
} |
원문은 여기서 확인가능.
https://forum.unity.com/threads/redirect-to-app-settings.461140/
'🌍 Unity > 유니티 프로그래밍' 카테고리의 다른 글
유니티 싱글톤(싱글턴) 기본 패턴 Unity singleton parttern (0) | 2019.11.15 |
---|---|
유니티 안드로이드 스크린샷 / 스크린캡쳐 (Unity Android screenCapture) (1) | 2019.11.14 |
사운드/오디오 매니저 Unity Sound Manager (0) | 2019.07.29 |
Unity Fade in Fade out 유니티 페이드 인 페이드 아웃 스크립트 (0) | 2019.06.30 |
유니티 LINQ 활용하기 (0) | 2019.06.06 |