关于安卓手机开机自启动APP无法成功的问题

最近有个小项目需要实现开机自动启动手机中预装的APP,网上搜了一下,好多,简单看了看,觉得好easy,但是本着多动动手的原则,我还是想尝试一下,于是照着网上热心网友的经验简单的做一个测试一下。还是先来温习一下吧啊,安卓手机启动的时候会发出一个系统广播,广播内容为ACTIN_BOOT_COMPLETED,其字符串常量为android.intent.action.BOOT_COMPLETED,,只要接受到这个广播在启动你想启动的APP就行了,当然Service也行。1.通过广播接受消息

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootBroadcastReceiver extends BroadcastReceiver { 
static final String action_boot="android.intent.action.BOOT_COMPLETED"; 


@Override 
public void onReceive(Context context, Intent intent) 

if (intent.getAction().equals(action_boot))

Intent StartIntent=new Intent(context,MainActivity.class); //接收到广播后,跳转到MainActivity ,即是想启动的APP或Service
StartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(StartIntent); 



2.配置mainfest.xml文件,注册receiver

        <!-- 注册系统广播接收器 --> 
<receiver android:enabled="true"  android:name=".BootBroadcastReceiver" 
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
<intent-filter>   
<action android:name="android.intent.action.BOOT_COMPLETED"/> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
</receiver> 

3.添加权限

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

注意添加的位置包括权限设置和注册广播接收器!


不错,网上也是这样写的,但是装到手机中然后重新启动手机,遗憾是没有出现预想 的结果,以为是自己的那些程序写错了,所以干脆就直接复制粘贴上去,但是还是不行;有怀疑是注册广播接收器的属性错了,又在网上找了好多属性,补上了,但是还是不行!然后没得办法,上了一个技术讨论群,讨论指导的也就是上面那几步是不是有问题罗,还有就是说我手机是小米的,估计把启动项关了,于是半信半疑的看了下,把启动项也设置好了,但是还是不行!然后有人说是小米手机吧系统改了好多,所以测试不靠谱,于是换了华为的,还是不行,于是就换上了高大上的机皇三星,可是依然不行,就在我准备绝望的时候,发现原来是因为自己新建BroadcastReceiver的到时候默认建了一个包,并吧该java文件放到该包里,和我要启动的那个java文件不在一个包里,于是果断的拖过去了,一运行,一切都ok!实现了开机启动功能!哎,折腾了我两个半天啊,坑死了!简单记录下就是给自己提个醒,也希望对以后碰到相同问题的网友有帮助!谢谢浏览!




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值