1.需要将APK的主Activity的Category声明为"android.intent.category.HOME",并且设置其优先级要高于默认的Launcher。基中的优先级,可以根据自己的需求灵活设置。因为可能其他的Activity也会有同样的需求。
例如
例如
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter android:priority="10">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</activity>
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter android:priority="10">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</activity>
2.在完成自己的开机向导之后,需要通过PMS的接口禁止掉自己的应用,这样才能在后面的home-key不再起来。
例如:
例如:
[Java]
hide
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/mediatek/packages/apps/OOBE/src/com/mediatek/oobe/basic/MainActivity.java
private
void
finishOOBE() {
//disable WizardActivity
PackageManager pm = getPackageManager();
ComponentName name =
new
ComponentName(
this
, WizardActivity.
class
);
int
state = pm.getComponentEnabledSetting(name);
if
(state != PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
|