android - 将其他应用程序固定为设备所有者

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

我的应用程序已经是设备所有者,我可以在没有用户交互的情况下固定我自己的 Activity 。但现在我希望通过我的服务固定其他(遗留)应用程序。

这可能吗?

我尝试过的:

  • 首先启动我自己的“启动器”应用程序,然后让该 Activity 启动另一个应用程序:没有任何反应(日志告诉我:“startActivityUnchecked:尝试违反锁定任务模式”)
  • 在内部 Activity 管理器上调用“startLockTaskCurrent”(使用 Binder )。这会导致缺少权限“android.permission.MANAGE_ACTIVITY_STACKS”并出现 SecurityException。此权限是内部权限,仅适用于系统应用程序(我不是,也不会轻易使用)。

还有其他解决方案吗?

最佳答案

这是不可能的。

您只能选择在您的应用程序中使用 mDPM.setLockTaskPackages("com.foo.myapp");,之后其他应用程序可以使用 startLockTask(); 方法。

关于android - 将其他应用程序固定为设备所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30842757/

相关文章:

android - 'Samsung Apps' 是否支持 URI 方案以重定向到特定应用程序?

java - 定时java循环

安卓壁纸动画

android - Activity.startLockTask() 偶尔会抛出 IllegalArgumentException

android - API 级别 < 8 的 Dialog.setOnShowListener() 替代方案

android - 状态栏没有阴影

java - 解析 android-L 的数据失败

android - 将工具栏用作操作栏时如何设置 SearchView 的样式?

android - Android Wear 中的 Kiosk 模式/屏幕固定

Android Kiosk 模式 - 防止用户从 "unauthorized"取消固定应用程序