Android 开机向导(没有优先启动问题)
1.设置了开机向导的相关属性却没有优先启动
<activity android:name="DefaultActivity"android:excludeFromRecents="true"android:exported="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>
原因:开机向导应用如果不放在system_ext/priv-app/下,设置了“android:priority=1”也会被重置会0,如果使用源码编译,在Android.dp文件中设置“system_ext_specific: true”即可
2.每次重启重复进入开机向导问题
// 添加持久设置以允许其他应用程序知道设备已配置。
Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1);
//这个标记位标识当前用户已经走完引导流程,如果不设置这个值,Home键、锁屏等将不可用
Settings.Secure.putInt(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 1);// 从PackageManager中禁用该Activity。
PackageManager pm = getPackageManager();
ComponentName name = new ComponentName(this, DefaultActivity.class);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);
走完开机向导流程后,设置相关标记位,并将该Activity禁用,最后finish自己进入launch界面(设置相关标记位可以让其他服务知道设备可用,如锁屏服务可用,启用Home键功能等,将该Activity禁用可以让下次开机时我们的应用不会再起来而直接启动桌面)
注:有些人用frameworks/base/services/core/java/com/android/server/wm/RootWindowContainer.java类中重新设置默认启动的launch来规避此问题,并用全局变量来控制,此方法没有找到根本问题点,且规避产生的代码块使得整体逻辑更加复杂,不可取
Android 开机向导(没有优先启动问题)相关推荐
- Android开机向导启动流程分析
Android开机向导启动流程 首先来看Android启动流程: 1.Bootloader(系统启动加载器,将Linux加载到RAM): 2.Kernel 3.init进程 4.Zygote(Zygo ...
- android 开机向导加载过程,开机向导启动流程分析
开机向导启动流程 首先来看Android启动流程: 1.Bootloader(系统启动加载器,将Linux加载到RAM): 2.Kernel 3.init进程 4.Zygote(Zygote进程是整个 ...
- Android开机向导setupwizard,设置系统语言,WiFi向导
Android的框架设计有考虑到开机向导这一场景,因此我们实现开机向导参考Android的Provision.apk Provision: MSM8976/repo/packages/apps/Pro ...
- android 开机向导加载过程,Android开机向导构建流程
前言 在设备首次开机的时候我们往往会给与用户一些操作提示,比如如何对焦.遥控器配对等,这个时候就需要一个界面在Launcher启动之前呈现给用户,这个界面就是所谓的开机向导,本质上开机向导就是一个普通 ...
- android 开机向导OOBE源码分析
OOBE是开机向导,普通的理解就是一个界面跳另一个界面再跳下一个界面,OOBE却不是这么实现的.下面分析OOBE界面跳转实现: 打开OOBE目录,找到入口是WizardActivity.java,该A ...
- android 开机向导屏蔽home,安卓系统定制:关闭第一次启动的向导
安卓系统:4.4 测试硬件:友善之臂m1 plus 定制需求:第一次运行不需要运行开机提示(Cling,向导) 修改文件packages/apps/Launcher2/src/com/android/ ...
- android 不可点击状态,Android开机指引后notification应为不可点击状态
Android开机向导后notification应为不可点击状态 notification为SystemUI部分,控制notification的状态是在如下文件中 frameworks\base\pa ...
- 删除Android刷机启动开机向导(气泡提示)
删除Android刷机启动开机向导 ####1.文件位置 android/packages/apps/Launcher2/src/com/android/launcher2/Launcher.java ...
- android 开机启动服务。
今天我们主要来探讨android怎么让一个service开机自动启动功能的实现.Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.in ...
最新文章
- 深度学习(训练/开发/测试集)的划分技巧
- 产品经理是种病,我竟已晚期
- 双绞线传输距离_视频监控系统中布线常用传输线缆分类及制作方法
- vlan划分不能上网_VLAN工作原理
- linux内核PID管理
- 2021年退休工资会不会涨?
- 将solidity智能合约打包成Java代码
- matlab求解数学题,MATLABR2013a求解数学问题
- Java 集成LMDB
- VS(Visual Studio)间接引用
- 计算机图书管理系统测试用例,图书管理系统测试用例设计.doc
- 【猿码】java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程可做为Java毕设大作业
- 团体程序设计天梯赛--个人总结
- python做相册_Python编程:制作电子相册
- 利用Cloudflare Workers部署臭鼬在线接头霸王项目实例
- 您好,高雅症患者 穆穆-movno1推荐
- 怎样写权利要求书(原创)
- MODBUS-RTU数据帧格式、报文解析
- linux文件系统研究与设计,Linux下实时文件系统的设计
- 关于Mono的好网站
热门文章
- ubuntu使用sudo su进入root报错Cannot execute /bin/csh: No such file or directory解决方法
- twitter 分享链接_链接您的Twitter Feed
- Windows 10 安装 Anaconda3 GPU版Tensorflow Cuda9 cudnn7
- ==和eques()
- servicecomb-pack
- 微软对联服务器关闭了吗,不只对联,现在微软还能自动生成绝句
- C#调用windows 相片查看器展示图片例子
- 拯救非洲的粮食危机,机器学习做了这些!
- iPad刷机的简洁教程(忘记密码怎么办?)
- “不敢冒险就不是硅谷的企业”