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 开机向导(没有优先启动问题)相关推荐

  1. Android开机向导启动流程分析

    Android开机向导启动流程 首先来看Android启动流程: 1.Bootloader(系统启动加载器,将Linux加载到RAM): 2.Kernel 3.init进程 4.Zygote(Zygo ...

  2. android 开机向导加载过程,开机向导启动流程分析

    开机向导启动流程 首先来看Android启动流程: 1.Bootloader(系统启动加载器,将Linux加载到RAM): 2.Kernel 3.init进程 4.Zygote(Zygote进程是整个 ...

  3. Android开机向导setupwizard,设置系统语言,WiFi向导

    Android的框架设计有考虑到开机向导这一场景,因此我们实现开机向导参考Android的Provision.apk Provision: MSM8976/repo/packages/apps/Pro ...

  4. android 开机向导加载过程,Android开机向导构建流程

    前言 在设备首次开机的时候我们往往会给与用户一些操作提示,比如如何对焦.遥控器配对等,这个时候就需要一个界面在Launcher启动之前呈现给用户,这个界面就是所谓的开机向导,本质上开机向导就是一个普通 ...

  5. android 开机向导OOBE源码分析

    OOBE是开机向导,普通的理解就是一个界面跳另一个界面再跳下一个界面,OOBE却不是这么实现的.下面分析OOBE界面跳转实现: 打开OOBE目录,找到入口是WizardActivity.java,该A ...

  6. android 开机向导屏蔽home,安卓系统定制:关闭第一次启动的向导

    安卓系统:4.4 测试硬件:友善之臂m1 plus 定制需求:第一次运行不需要运行开机提示(Cling,向导) 修改文件packages/apps/Launcher2/src/com/android/ ...

  7. android 不可点击状态,Android开机指引后notification应为不可点击状态

    Android开机向导后notification应为不可点击状态 notification为SystemUI部分,控制notification的状态是在如下文件中 frameworks\base\pa ...

  8. 删除Android刷机启动开机向导(气泡提示)

    删除Android刷机启动开机向导 ####1.文件位置 android/packages/apps/Launcher2/src/com/android/launcher2/Launcher.java ...

  9. android 开机启动服务。

    今天我们主要来探讨android怎么让一个service开机自动启动功能的实现.Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.in ...

最新文章

  1. 深度学习(训练/开发/测试集)的划分技巧
  2. 产品经理是种病,我竟已晚期
  3. 双绞线传输距离_视频监控系统中布线常用传输线缆分类及制作方法
  4. vlan划分不能上网_VLAN工作原理
  5. linux内核PID管理
  6. 2021年退休工资会不会涨?
  7. 将solidity智能合约打包成Java代码
  8. matlab求解数学题,MATLABR2013a求解数学问题
  9. Java 集成LMDB
  10. VS(Visual Studio)间接引用
  11. 计算机图书管理系统测试用例,图书管理系统测试用例设计.doc
  12. 【猿码】java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程可做为Java毕设大作业
  13. 团体程序设计天梯赛--个人总结
  14. python做相册_Python编程:制作电子相册
  15. 利用Cloudflare Workers部署臭鼬在线接头霸王项目实例
  16. 您好,高雅症患者 穆穆-movno1推荐
  17. 怎样写权利要求书(原创)
  18. MODBUS-RTU数据帧格式、报文解析
  19. linux文件系统研究与设计,Linux下实时文件系统的设计
  20. 关于Mono的好网站

热门文章

  1. ubuntu使用sudo su进入root报错Cannot execute /bin/csh: No such file or directory解决方法
  2. twitter 分享链接_链接您的Twitter Feed
  3. Windows 10 安装 Anaconda3 GPU版Tensorflow Cuda9 cudnn7
  4. ==和eques()
  5. servicecomb-pack
  6. 微软对联服务器关闭了吗,不只对联,现在微软还能自动生成绝句
  7. C#调用windows 相片查看器展示图片例子
  8. 拯救非洲的粮食危机,机器学习做了这些!
  9. iPad刷机的简洁教程(忘记密码怎么办?)
  10. “不敢冒险就不是硅谷的企业”