2017-09-28 53 views
0

任何人都知道如何在Unity中使用C#打開/關閉android顯示背光?我不喜歡插件,我不想自己創造一個插件。 我知道,你可以同時使用接近傳感器禁用顯示...但我不知道該怎麼做,在C#中Unity3d ...如何開啓/關閉在Unity3d中使用C#的Android顯示背光

也許android.provider.Settings.System.SCREEN_BRIGHTNESS將幫助,但我不知道如何更改在Unity3d與C#值(1-255) 如果有人有一個解決方案,我會很高興。 謝謝 M.

+0

閱讀Unity的約'AndroidJavaObject'和'AndroidJavaClass'文檔然後嘗試端口Java代碼到C#與我上面提到的類。如果遇到問題,請編輯您的問題,添加您嘗試移植的Java代碼,然後添加您使用'AndroidJavaObject'和'AndroidJavaClass'編寫的C#代碼,這些代碼不起作用。您將從許多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); 
    } 
}