I am looking to acquire some help regarding how a developer should go about creating an out-of-the-box experience (i.e., setup wizard) for AOSP. What is the proper way to utilize the SETUP_WIZARD Intent Category and the USER_SETUP_COMPLETE and DEVICE_PROVISIONED System Settings?
Currently, I have a standalone setup app that declares the SETUP_WIZARD
Intent Category in AndroidManifest.xml. My naive assumption was that on first boot (or after factory reset), if the USER_SETUP_COMPLETE
and DEVICE_PROVISIONED
System Settings were false, the OS would fire the SETUP_WIZARD
Intent Category, and my setup app would then launch. Additionally, I had hoped that if the the USER_SETUP_COMPLETE
and DEVICE_PROVISIONED
System Settings were true, the OS would not fire the SETUP_WIZARD
Intent Category.
My setup app is launching irrespective of the values of the USER_SETUP_COMPLETE
and DEVICE_PROVISIONED
System Settings (0 vs. 1).
Looking at the logs, it seems that my setup app is launching because the OS is firing a MAIN
intent with a HOME
category. Sadly, it seems like a MAIN
intent with a SETUP_WIZARD
category is never fired. What am I missing?
Here's my setup app's 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 is a new area for me, so please be nice ;). I find that the AOSP documentation is wildly sparse compared to the documentation for general app devs. Thanks in advance for the help!