본문 바로가기
카테고리 없음

[Unity] Unity Android 앱 설정창 띄우기

by 은유지니 2023. 8. 9.
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함수가 호출되도록 설정한 결과이다.

다음 이미지 같이 앱 설정창으로 이동하는 것을 볼 수 있다.