使用统一的C#脚本的android上面默认锁屏的活动(Activity of android abo

2019-10-21 06:50发布

我怎么可以添加WindowManagerLayoutParams统一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);

Answer 1:

你可以是这样做的:

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内部类窗口管理的。



文章来源: Activity of android above default lock screen using unity c# scripts