2017-09-28 7 views
0

Unity에서 C#을 사용하여 안드로이드 디스플레이 백라이트를 켜고 끄는 방법을 아는 사람이 있습니까? 나는 플러그인을 좋아하지 않으며, 내 자신을 만들고 싶지 않습니다. 내가 근접 센서를 사용하는 동안 디스플레이를 비활성화 할 수 있다는 것을 알고 ...하지만 난 Unity3d에서 C#으로 그것을 할 방법을 모른다 ...Unity3d에서만 C#을 사용하여 안드로이드 디스플레이 백라이트 켜기/끄기

아마 android.provider.Settings.System.SCREEN_BRIGHTNESS 도움이되지만 Unity3d에서 값 (1-255)을 변경하는 방법을 모르겠습니다. C# 누군가가 해결책을 가지고 있다면 매우 행복 할 것입니다. 다음 포트에 시도 AndroidJavaObject`와`AndroidJavaClass``에 대한 유니티의 문서를 읽기 ... M.

+0

을 감사하는 위에서 언급 한 클래스를 사용하여 Java 코드를 C#으로 가져옵니다. 문제가 발생하면 질문을 수정하고, 포트를 연결하려는 Java 코드를 추가 한 다음, 작성한 C# 코드를 작동하지 않는 AndroidJavaObject 및 AndroidJavaClass로 추가하십시오. 여기에 많은 Unity 사용자들의 도움을 얻을 것입니다. 그렇지 않으면 누군가 당신을 위해 일하기를 기다리고있는 것처럼 보입니다. – Programmer

답변

0

내가이 try'ed했지만 내가 어떤 결과를 얻을하지 않았다

public void CheckScreenBrightness() 
{ 
    using (var actClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) 
    { 
     var context = actClass.GetStatic<AndroidJavaObject>("SCREEN_BRIGHTNESS"); 
     AndroidJavaClass systemGlobal = new AndroidJavaClass("android.provider.Settings$Global"); 

     var screenbrightness = systemGlobal.CallStatic<int>("getInt", context.Call<AndroidJavaObject>("getContentResolver"), "SCREEN_BRIGHTNESS"); 

     Debug.Log("Screen Brightness = " + screenbrightness); 
    } 
}