android - 管理 API 错误 : persistentPreferredActivities 4

标签 android kiosk kiosk-mode device-policy-manager android-management-api

我正在构建一个 Android KIOSK 应用程序,并尝试通过提供设备策略来使用 Android Management API 启用 Kiosk 模式。

我的政策 json 是:

    {
        "keyguardDisabled": true,
        "applications": [
                {
                  "packageName": "my.own.app",
                  "installType": "KIOSK",
                  "defaultPermissionPolicy": "GRANT"
                }
        ]
    }

有趣的是,该政策来自官方 API 的示例,所以我认为这可行。
无论如何,总是得到这个错误:

Error info persistentPreferredActivities 4



只是谷歌搜索并没有给我任何解决这个问题的线索。

当我设置 installType作为KIOSK,我总是遇到这个错误。我的线索是我的策略缺少 PersistentPreferredActivity json block 。我已经添加了它,我仍然得到这个错误。有趣的是,有一条注释:“注意:要设置信息亭,请使用 InstallType 到 KIOSK,而不是使用持久的首选 Activity 。”所以我们不需要 PersistentPreferredActivity。但我不明白那个错误。

继续。我试图通过将 kioskCustomLauncherEnabled 设置为 true 来创建 kiosk 模式。我设置了“installType”:“AVAILABLE”,所以我可以从 Android Studio 运行应用程序。
我成功地在设备上应用了策略。当我尝试打开应用的 Kiosk Activity 时,出现“应用不是设备所有者”Toast。

基本上,我需要的大概是lockTaskAllowed修饰符,但已弃用。

有人可以帮我制定 KIOSK 应用程序的设备策略吗?

最佳答案

请注意,KIOSK 模式仅适用于完全托管的设备。对于要完全管理的设备,必须使用包含注册 token 的 QR 码或其他 supported enrollment methods 从设置向导进行配置。 .

为了能够在策略中使用该应用程序,它必须在 Google Play 中可用。它应该是公共(public)应用程序或私有(private)应用程序,可供您使用 Android 管理 API 管理的企业 (ID) 使用。

以下是“installType”:“KIOSK”和 kioskCustomLauncherEnabled 之间的区别:

“installType”:“KIOSK”用于将单个应用固定到屏幕上

policy_json = '''
{
  "applications": [
  {
    "packageName": "com.google.android.gm",
    "installType": "KIOSK",
    "defaultPermissionPolicy": "GRANT"
  }
],
  "debuggingFeaturesAllowed": true
}
'''

现在,如果您想在 KIOSK 模式下使用一组应用程序,您可以使用 kioskCustomLauncherEnabled
policy_json = '''
{
  "applications": [
    {
    "packageName": "com.android.chrome",
    "installType": "FORCE_INSTALLED",
    "defaultPermissionPolicy": "GRANT"
  },
  {
    "packageName": "com.google.android.gm",
    "installType": "FORCE_INSTALLED",
    "defaultPermissionPolicy": "GRANT"
  }
],
  "debuggingFeaturesAllowed": true,
  "kioskCustomLauncherEnabled": true,
  "keyguardDisabled": true
}
'''

关于android - 管理 API 错误 : persistentPreferredActivities 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59933362/

相关文章:

Android:使用 onDraw 和 onTouchEvent 绘制线条呈现缓慢

c# - 检测由 kiosk 应用程序启动的 Citrix session 终止

android - 无需请求用户操作的 startLockTask()

flutter - Flutter 可以在 kiosk 模式下制作应用程序吗?

android - 从 Gradle 构建中排除临时 Realm 文件

java - 使用 android.support.v7.widget.SearchView 时获取类转换异常

ubuntu - 在 Ubuntu 中制作 JFrame 全屏

android - 将设备锁定到单个 PDF

android - 设计自定义 android DPC 应用程序与 Android 管理 API 有何关系?

android - ListFragment 中的项目不会显示在使用自定义数组适配器的 Listview 中