3

何を達成したいですか?

内部目的のみ/社内のみで、タブレットを再起動した後でも表示され、ユーザーがそれを離れることができない単一のアプリ (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"
      ]
   }
]

ホームボタンと最近のボタンを非表示にすることができましたが、戻るボタンはまだそこにあり、ナビゲーションバー全体が表示されています.


次の図は、問題を視覚化したものです。

YouTube アプリをキオスク モードで表示します。ステータス バーとナビゲーション バーが表示されます。

ステータスバーとナビゲーションバーを完全に取り除く方法を知っている人はいますか?


これは私のポリシー全体がどのように見えるかです:

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()

4

1 に答える 1