我怎么可以添加WindowManager
的LayoutParams
统一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);
你可以是这样做的:
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"));
我最近在做同样的事情,它的工作,它浮在锁屏的顶部,而如果用户按下HOME键,他会回系统锁屏。
注意,这两个“/”或“” 是一样的。 在$是内部类,在这种情况下,是的LayoutParams内部类窗口管理的。