如何客制化自己的开机向导

来源:互联网 发布:一次性餐具的危害数据 编辑:程序博客网 时间:2024/04/29 04:45
在开发过程中,可能需要客制化自己的开机向导,可以参考如下的方案。
 
 
[SOLUTION]
 
可以参考一下之前敝司KK版本上的OOBE的实现,其主要有两个核心思想:

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>
 
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
 
 
 
 privatevoid finishOOBE() {
 
 //disable WizardActivity
 
 PackageManager pm = getPackageManager();
 
 ComponentName name = newComponentName(this, WizardActivity.class);
 
 intstate = pm.getComponentEnabledSetting(name);
 
 if(state != PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
 
 pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
 
 PackageManager.DONT_KILL_APP);
 
 }
原创粉丝点击