自分自身をデフォルトのランチャーとして登録し、起動時に自動的にピン留めするアプリがあります。
アプリをインストールするとき、これはすべて正常に機能します。それ自体がピン留めされ、戻るボタンだけが表示されます。
問題は、デバイスが最初に起動したときに、正しくピン留めされないことです。一連のトースト「画面固定」と「画面固定解除」が複数回表示されます。「ホーム」ボタンと「最近のタスク」ボタンも引き続き表示されます。
--
「adb shell dumpsys activity activities」の実行 - 最後の行は、固定されていないことを示しています。
mLockTaskModeState=NONE mLockTaskPackages (userId:packages)=
0:[com.example.myapp]
mLockTaskModeTasks[]
--
Marshmallow/6.0/23 を実行するテスト デバイス Asus ZenPad
固定する MainActivity マニフェスト属性「lockTaskMode」に依存しています (activity.startLockTask() ではなく):
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/launcher_main"
android:launchMode="singleTask"
android:lockTaskMode="if_whitelisted"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
ヘルプやポインタをいただければ幸いです