1

我正在开发具有设备所有者权限的应用程序,我必须实现 Android Lollipop 中引入的“屏幕固定”功能。根据开发者博客,我们可以通过编程方式使用Activity.startLockTask()和取消固定任何应用程序Activity.stoplockTask()

但根据我的要求,我想以编程方式筛选其他应用程序。

请让我知道是否可能。如果是,那怎么办?谢谢!

4

1 回答 1

0

是和否是答案。我猜你想知道为什么?您不能在第 3 方应用程序上进行固定,但您可以使用透明主题和更重要的显示方式拥有自己的活动<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();

就这么简单!

于 2020-06-17T07:47:36.517 回答