Android - 如何以编程方式屏蔽其他应用?

时间:2015-02-01 11:17:52

标签: android android-5.0-lollipop android-screen-pinning

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

但根据我的要求,我想以编程方式屏蔽其他应用。

如果有可能请告诉我。如果是,那怎么样?谢谢!

1 个答案:

答案 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();

那么简单!