2014-11-13 3 views
1

как я могу добавить WindowManager's LayoutParams флаг внутри единства C# скриптов.Активность андроида над экраном блокировки по умолчанию с использованием единства C# скриптов

Например, я могу это сделать в Android кодом, следующим образом.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON| 
      WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD| 
      WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED| 
      WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

ответ

0

вы можете сделать это так:

AndroidJavaObject activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaObject win = activity.Call<AndroidJavaObject>("getWindow"); AndroidJavaObject lp = new AndroidJavaClass("android/view/WindowManager$LayoutParams"); win.Call("addFlags",lp.GetStatic<int>("FLAG_SHOW_WHEN_LOCKED")); win.Call("addFlags",lp.GetStatic<int>("FLAG_ALLOW_LOCK_WHILE_SCREEN_ON"));

я в последнее время делает то же самое, это работа, она плавает на верхней части экрана блокировки, а если пользователь нажмет клавишу режима, он вернется к экрану блокировки системы.

Обратите внимание, что оба "/" или "." то же самое. $ для внутреннего класса, в этом случае LayoutParams является внутренним классом WindowManager.

Смежные вопросы