Android开机出现不能自启动Activity的问题

本文探讨了Android应用设置开机启动权限后,BootBroadcastReceiver无法正常启动的问题。问题出现在部分机型上,即使在Manifest中声明了权限,但在权限管理中未显示应用。解决方案是手动开启应用的自动运行权限。对于三星设备,此问题尤为常见,需在设置中找到并开启相关权限,以确保应用能开机自启动。
摘要由CSDN通过智能技术生成

关于设置了权限并且监听了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";
	@Override
	public 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);
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值