public void ClickSettingButton()
{
StartCoroutine(OpenAppSetting());
}
private IEnumerator OpenAppSetting()
{
try
{
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);
}
}
}
catch (Exception ex)
{
Debug.LogException(ex);
}
yield break;
}
< 코드 실행 결과 >
버튼을 클릭하면 ClickSettingButton함수가 호출되도록 설정한 결과이다.
다음 이미지 같이 앱 설정창으로 이동하는 것을 볼 수 있다.