我希望获得一些有关开发人员应如何为 AOSP 创建开箱即用体验(即设置向导)的帮助。使用 SETUP_WIZARD 意图类别 和 USER_SETUP_COMPLETE 和 DEVICE_PROVISIONED 系统设置 的正确方法是什么?
目前,我有一个独立的设置应用程序,它在
AndroidManifest.xml中声明
SETUP_WIZARD
意图类别。我天真的假设是,在第一次启动时(或恢复出厂设置后),如果 USER_SETUP_COMPLETE
和 DEVICE_PROVISIONED
系统设置为 false,操作系统将触发 SETUP_WIZARD
意图类别,然后我的设置应用程序将启动。此外,我希望如果 USER_SETUP_COMPLETE
和 DEVICE_PROVISIONED
系统设置为 true,操作系统不会触发 SETUP_WIZARD
意图类别。
无论
USER_SETUP_COMPLETE
和 DEVICE_PROVISIONED
系统设置的值如何(0 与 1),我的设置应用程序都会启动。
查看日志,我的设置应用程序似乎正在启动,因为操作系统正在触发带有
MAIN
类别的 HOME
意图。可悲的是,似乎具有 MAIN
类别的 SETUP_WIZARD
意图是 never 被激发的。我错过了什么?
这是我的设置应用程序的
AndroidManifest.xml
:
<activity
android:name=".MainActivity"
android:exported="true"
android:excludeFromRecents="true">
<intent-filter android:priority="1">
<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.SETUP_WIZARD" />
</intent-filter>
</activity>
AOSP 对我来说是一个新领域,所以请保持友善;)。我发现 AOSP 文档与一般应用程序开发人员的文档相比非常稀疏。预先感谢您的帮助!