何を達成したいですか?
内部目的のみ/社内のみで、タブレットを再起動した後でも表示され、ユーザーがそれを離れることができない単一のアプリ (Ionic/Angular で作成) のみを実行する Android タブレットが必要です。
私が達成したいことの技術的な説明は、専用デバイス (以前は企業所有のシングルユース、または COSU と呼ばれていました) と呼ばれるものだと思います。
どのように達成したいですか?
これは、MDM (モバイル デバイス管理) ソリューションに最適な選択肢のように見えるAndroid Management APIで実現したいと考えています。
ここで、Google は、Android Management API ポリシーを使用してこれを実現する方法を示しています。
問題?
ステータス バーとナビゲーション バーを取り除くことができません。
テスト目的で、通常の YouTube アプリでこれを達成しようとしました。ステータスバーを無効に"statusBarDisabled": true,
することができたので、ユーザーはそれを操作できませんが、まだ表示されています。
ナビゲーションバーにも同じことが言えます
"persistentPreferredActivities":[
{
"receiverActivity":"com.google.android.youtube",
"actions":[
"android.intent.action.MAIN"
],
"categories":[
"android.intent.category.HOME",
"android.intent.category.DEFAULT"
]
}
]
ホームボタンと最近のボタンを非表示にすることができましたが、戻るボタンはまだそこにあり、ナビゲーションバー全体が表示されています.
次の図は、問題を視覚化したものです。
ステータスバーとナビゲーションバーを完全に取り除く方法を知っている人はいますか?
これは私のポリシー全体がどのように見えるかです:
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()