Чего бы я хотел достичь?
Только для внутренних целей / только в рамках нашего предприятия, я хотел бы иметь планшеты Android, на которых работает только одно приложение (выполненное с Ionic / Angular), которое появляется даже после перезагрузки планшета, и пользователь не может покинуть его .
Я думаю, что техническое описание того, что я хотел бы получить, называется выделенными устройствами (ранее называвшимися корпоративными одноразовыми или COSU).
Как бы я хотел этого достичь?
Я бы хотел добиться этого с помощью API управления Android , который выглядит как отличный выбор для решения MDM (управления мобильными устройствами).
Здесь Google показывает, как этого добиться с помощью политики API управления Android.
Проблема?
Я не могу избавиться от статуса и панели навигации.
В целях тестирования я пытался добиться этого с помощью обычного приложения YouTube. С помощью "statusBarDisabled": true,
я смог отключить строку состояния, чтобы пользователь не мог с ней взаимодействовать, но она все еще видна.
То же самое относится и к панели навигации с
"persistentPreferredActivities":[
{
"receiverActivity":"com.google.android.youtube",
"actions":[
"android.intent.action.MAIN"
],
"categories":[
"android.intent.category.HOME",
"android.intent.category.DEFAULT"
]
}
]
Мне удалось скрыть кнопки «Домой» и «Обновить», но кнопка «Назад» все еще там, и видна вся панель навигации.
Следующая картинка визуализирует проблему:
![Shows the YouTube app in kiosk mode, status bar and navigation bar are visible.](https://i.stack.imgur.com/3GWoS.jpg)
У кого-нибудь есть идеи, как полностью избавиться от статуса и панели навигации?
Вот так выглядит вся моя политика:
import json
policy_name = enterprise_name + '/policies/policy1'
policy_json = '''
{
"safeBootDisabled": true,
"statusBarDisabled": true,
"keyguardDisabled": true,
"screenCaptureDisabled": true,
"factoryResetDisabled": true,
"cameraDisabled": true,
"blockApplicationsEnabled": true,
"systemUpdate": {
"type": "WINDOWED",
"startMinutes": 120,
"endMinutes": 240
},
"policyEnforcementRules": [{
"settingName": "persistentPreferredActivities",
"blockAction": {
"blockAfterDays": 0
},
"wipeAction": {
"wipeAfterDays": 3,
"preserveFrp": true
}
}],
"applications": [
{
"packageName": "com.google.android.youtube",
"installType": "FORCE_INSTALLED",
"lockTaskAllowed": true,
"defaultPermissionPolicy": "GRANT"
}
],
"persistentPreferredActivities": [
{
"receiverActivity": "com.google.android.youtube",
"actions": [
"android.intent.action.MAIN"
],
"categories": [
"android.intent.category.HOME",
"android.intent.category.DEFAULT"
]
}
]
}
'''
androidmanagement.enterprises().policies().patch(
name=policy_name,
body=json.loads(policy_json)
).execute()