Ошибка API управления: persistentPreferredActivities 4 - PullRequest
0 голосов
/ 27 января 2020

Я создаю Android приложение KIOSK и пытаюсь включить режим киоска с Android API управления, предоставляя политику устройства.

Моя политика json:

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

Что интересно, политика взята из примера официального API, поэтому я полагаю, что это работает. Как бы то ни было, всегда получайте эту ошибку:

Информация об ошибке persistentPreferredActivities 4

И только поиск в Google не дает мне никакой подсказки, как решить эту проблему.

Когда я установил installType как KIOSK, я всегда получал эту ошибку. Я подсказал, что в моей политике отсутствует блок PersistentPreferredActivity json. Я добавил это, и я все еще получил эту ошибку. Что интересно, есть примечание: «Примечание. Чтобы настроить киоск, используйте InstallType для KIOSK вместо постоянных предпочтительных действий». Поэтому нам не нужна PersistentPreferredActivity. Но я не понимаю ошибки тогда.

Идем дальше. Я попытался сделать режим киоска, установив для kioskCustomLauncherEnabled значение true. Я установил "installType": "AVAILABLE", чтобы я мог запустить приложение из Android Studio. Я успешно применил политику на устройстве. Когда я пытаюсь открыть Киоск активности моего приложения, у меня появляется значок «Приложение не является владельцем устройства».

По сути, мне нужен, вероятно, модификатор lockTaskAllowed, но он устарел.

Может кто-нибудь Помогите, пожалуйста, настроить политику устройства для приложения KIOSK?

1 Ответ

0 голосов
/ 14 февраля 2020

Обратите внимание, что режим KIOSK работает только на полностью управляемых устройствах. Чтобы устройство полностью управлялось, оно должно быть подготовлено с помощью мастера настройки с помощью QR-кода, содержащего токен регистрации, или с помощью других поддерживаемых методов регистрации .

Чтобы иметь возможность использовать приложение в политике он должен быть доступен в Google Play. Это должно быть либо приложение c для публики, либо частное приложение, которое доступно для предприятия (ID), которым вы управляете с помощью Android API управления.

Вот разница между "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
}
'''
...