我正在开发具有设备所有者权限的应用程序,我必须实现在Android Lollipop中引入的“屏幕固定”功能。根据开发者博客,我们可以使用Activity.startLockTask()
以编程方式固定任何应用,并使用Activity.stoplockTask()
取消固定。
但根据我的要求,我想以编程方式屏蔽其他应用。
如果有可能请告诉我。如果是,那怎么样?谢谢!
答案 0 :(得分:0)
是和否是答案。我猜你想知道为什么吗?您无法固定在第三方应用程序上,但是可以使用透明主题来进行自己的活动,并且更重要的是显示为<item name="android:windowIsFloating">true</item>
-这不会使您的播放器(YouTube或Netflix)处于暂停状态,那么您可以将屏幕固定到您自己的透明活动显示为窗口。
长期使用(1)该主题在活动中:
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
(2)拥有一个前台服务,该服务可以在您希望的时间启动此活动(允许您打开其他应用)
(3)进行onResume活动startLockTask();
那么简单!