习惯上,把那个包括其他程序shortcut的程序成为Home程序,事实上,我们是把第一个(或者前几个)显示给用户看的应用程序称为Home,这个是在AndroidManifest.xml中确定的。
<activity android:name=".SelectLanguageActivity"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter android:priority="2">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
这个是factory reset之后会出现的setupWizard。这个先于我们习惯的home应用。
第二个是为什么不是每次都启动:
PackageManager pm = getPackageManager();
ComponentName name = new ComponentName(this, SelectLanguageActivity.class);
pm.setComponentEnabledSetting(name,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
最后一个sharedUserId,以及平台签名。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="android.uid.phone"
package="com.xxx.SetupWizard"
android:versionCode="1"
android:versionName="1.0" >
Android.mk:
LOCAL_CERTIFICATE := platform
<activity android:name=".SelectLanguageActivity"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter android:priority="2">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
这个是factory reset之后会出现的setupWizard。这个先于我们习惯的home应用。
第二个是为什么不是每次都启动:
PackageManager pm = getPackageManager();
ComponentName name = new ComponentName(this, SelectLanguageActivity.class);
pm.setComponentEnabledSetting(name,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
最后一个sharedUserId,以及平台签名。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="android.uid.phone"
package="com.xxx.SetupWizard"
android:versionCode="1"
android:versionName="1.0" >
Android.mk:
LOCAL_CERTIFICATE := platform