Android_Provision
Provision主要作用是作为开机引导用户进行一些基本设置。但是在原生的 android 系统中,这个 provision 非常的简单,只有一个空白的 activity,这个主要就是留给 厂商自己定制的,
在Android中,寻找Launcher的时候是根据HOME的filter(在Manifest中定义的<category android:name="android.intent.category.HOME" />)来过滤,而Provision的DefaultActivity中不仅配置了category.HOMEcategory.HOME,还增加了<intent-filter android:priority="1">,
<activity android:name="DefaultActivity"
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" />
</intent-filter>
</activity>
配置了权限为1,默认为0,如果有两个相同权限的,则弹框让用户选择启动哪一个。
DefaultActivity代码如下:
/**
* Application that sets the provisioned bit, like SetupWizard does.
*/
public class DefaultActivity extends Activity {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Add a persistent setting to allow other apps to know the device has been provisioned.
Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1);
Settings.Secure.putInt(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 1);
// remove this activity from the package manager.
PackageManager pm = getPackageManager();
ComponentName name = new ComponentName(this, DefaultActivity.class);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
// terminate the activity.
finish();
}
}
1、设置标签Settings.Global.DEVICE_PROVISIONED,标志代表了Android系统升级准备完成,可以正常工作(不是很理解)
2、禁止Provision自己的Activity组件
void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
componentName:组件名称
newState:组件新的状态,可以设置三个值,分别是如下:
不可用状态:COMPONENT_ENABLED_STATE_DISABLED
可用状态:COMPONENT_ENABLED_STATE_ENABLED
默认状态:COMPONENT_ENABLED_STATE_DEFAULT
最新文章
- 关于Kafka 的 consumer 消费者手动提交详解
- ami编码设计流程图_Openplant智慧电厂BIM设计-很强大(艾三维BIM分享)
- 英国法院裁定GCHQ黑客发动网络攻击并不侵犯人权
- linux vector 头文件,LINUX 之Vector用法
- mysql数据库root密码在哪个文件中_mysql - 本地数据库忘记了root用户的密码
- RabbitMQ exchange交换机机制
- 拼多多市值超2100亿美元 黄峥成中国第二大富豪
- 使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
- 谷歌:早在这个0day 补丁发布前几周,朝鲜国家黑客就已利用
- 拉取 google.golang.org/grpc 报错
- Java设计模式之十 ---- 访问者模式和中介者模式
- latex服务器java_latex入门
- 计算机忘记密码WIN7,win7忘记密码强制重置方法
- windows设置开机自动启动程序
- 微信小程序报错40163-“errmsg“解决方案
- Base64在线转换工具
- JSHOP2学习2:十分钟建立一个舒适的编译环境
- 搭建vpn linux,vpn在linux下搭建
- 总结学过的技术,实现加密注册,登录及过期不能访问,微信朋友圈功能,文章比较长,但是比较详细。
- etsy开店流程遇到的问题整理