关于设置了权限并且监听了RECEIVE_BOOT_COMPLETED广播但还是不能开机启动相应组件的问题,网上找了一些答案,基本上都说的是在正常情况,没有任何意外的情况下开机启动activity或者service,我这里发现一种情况也导致开机后没有调用onReceive()方法,故记录下来供遇到相同情况的朋友们参考。

首先还是在应用程序包里面新建BootBroadcastReceiver类并继承BroadcastReceiver,重写onReseiver()方法,代码如下:

public class BootBroadcastReceiver extends BroadcastReceiver{private static final String action_boot = "android.intent.action.BOOT_COMPLETED";@Overridepublic void onReceive(Context context, Intent intent) {if(intent.getAction().equals(action_boot)){Log.d("onReceive:", "Boot system");Intent startIntent = new Intent(context,MainActivity.class);startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(startIntent);}}}

再在AndroidMenifest.xml添加权限,代码如下:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
         <receiver android:name="com.example.test.BootBroadcastReceiver"><intent-filter ><action android:name="android.intent.action.BOOT_COMPLETED"/><category android:name="android.intent.category.HOME"/></intent-filter></receiver>

将程序运行在虚拟机上,运行完成后要注意先退出一次程序手动点击启动一次再通过adb执行如下命令重启虚拟机:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

不出意外虚拟机重启完成软件也跟着启动了,如下:

接下来运行在真机上面,那么问题来了,不同的机型有可能不会启动,是什么原因呢?

经过一番测试我这里发现一个原因,就是虽然在AndroidMenifest.xml里面申明了开机启动权限实际上软件并没有获取这个权限,我用的是三星的机子,发现在设置->应用程序->应用程序权限管理这里面并没有出现Test这个软件相应权限的分配,我尝试着使软件获取另外的权限,比如:短信发送这个权限,我加入了这个权限如下:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SEND_SMS"/>

然后我再在三星的机子上面运行这个程序,意外的发现弹出了权限选择这个对话框,如下:

我们看到这个原来这里有一个自动运行的权限选择项,把他打开,点击确定,再重启软件,重启手机后软件自动启动,问题解决。

这是我遇到的开机不能启动的问题,故在此做个记录,同时也供其他朋友参考。

至于为什么加了开机启动权限而没有弹出这个框我也不知道,可能三星机型对此做了什么处理。

在此希望对同样遇到开机不能自动运行的问题的朋友一个帮助。射射~~

Android开机出现不能自启动Activity的问题相关推荐

  1. Android开机启动Activity或者Service方法

    这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下 ...

  2. Android开机自启动C程序调试

    Android开机自启动C程序调试 本次记录是关于如何在rk3566的Android11版本下将led时钟显示添加成开机自启动的C程序. 首先,当然是在sdk中会被执行到的.rc文件中将我们所需要执行 ...

  3. android开机自启动应用日志标志,制作Android启动Logo

    http://blog.chinaunix.net/uid-26119896-id-4383872.html 一.去除Embedded Linux 的开机光标: 在内核的当前目录进入到drivers/ ...

  4. Android开机自启监听网络改变源码

    先看下主页面代码 mainactivity.java package cn.xiayiye.networkchange;import android.app.Activity; import andr ...

  5. android开机自启

    1.监控RECEIVE_BOOT_COMPLETED,即开机自启动事件AndroidManifest.xml 设置开机启动权限以及相应的receiver 2.监控sd卡的mount事件,开机的时候一般 ...

  6. Android应用程序窗口(Activity)的测量(Measure)、布局(Layout)和绘制(Draw)过程分析(上)...

    在前面一篇文章中,我们分析了Android应用程序窗口的绘图表面的创建过程.Android应用程序窗口的绘图表面在创建完成之后,我们就可以从上到下地绘制它里面的各个视图了,即各个UI元素了.不过在绘制 ...

  7. Android 开机自动启动服务

    在前面的文章中提到了remote service 的创建过程,现在我们要让它开机自动启动 1.在前面代码的基础上添加 RemoteServiceBootReceiver.java ,实现一个inten ...

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

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

  9. android 开机直接运行app并当做手机桌面

    android 开机直接运行app并当做手机桌面 直接上代码: 1.开机启动APP 1.1 写一个广播接收器,用来接收手机开机广播 public class Receiver extends Broa ...

最新文章

  1. python中复合条件_如何用Python选取复合条件的坐标组成新的列表?
  2. MySQL线程共享内存参数
  3. docker入门,基于ubuntu16.04
  4. SAP Spartacus TypeScript和编译后的JavaScript命名规范
  5. 【绝密】泰坦导弹制导计算机内部!
  6. 浅谈Object Pascal的指针[引用 Nicrosoft]
  7. 统计长整数n的各位上出现数字1、2、3 的次数
  8. 二叉树的构造及其前序,中序,后序遍历
  9. matlab实现7种滤波
  10. IDA中类似VS的Call stack函数调用关系视图
  11. 使用Cgroup在Docker中进行资源管理
  12. android自定义鼠标指针,修改Android系统的鼠标光标
  13. 虚幻c++入门到入土(一)VS插件Resharper使用
  14. 医药电子 | 三轴加速度传感器的类型、原理、特点和应用
  15. python 抖音短视频 去水印_如何去除抖音快手等短视频平台的水印?(工具+原理)...
  16. 完全数是由古人创造的一种整数,其因数的和(不包含本身)加起来就是数字本身。例如 6= 1+2+3 28=1+2+4+7+14 因数的和比数字本身大的数称为充沛数,因数和比数字本身大的数称为充沛数,因数
  17. 科学道德与学风-2021雨课堂答案-第7章
  18. 基于机器学习算法对电动汽车能耗估计
  19. 水星UD6S网卡Linux驱动,水星UD6S无线网卡驱动(修复水星UD6S无线网卡连接异常问题)V1.0 免费版...
  20. 《首先,打破一切常规》读后感

热门文章

  1. Java中判断字符串是否相等
  2. clumsy工具使用
  3. WPF 播放m3u8文件(使用Vlc库,支持在线和离线播放)
  4. HTML DOM:replaceChild()和cloneNode()
  5. English语法_副词-fairly / rather / quite / pretty / very
  6. openlava一日惊魂
  7. Thread.IsBackground
  8. C语言:八进制与二进制相互转换
  9. Sha256Hash+salt 密码加密使用
  10. 比特安审计中心:揭开安全审计的神秘面纱