最近在做项目的时候自定义个广播,在Android 8.0以下的系统中可以接收到自己发送的广播,但是在Android8.0以及以上的系统手机中无法接收到该广播。
对广播的限制具体可以查看一下Android 8.0 API 介绍 https://developer.android.google.cn/about/versions/oreo/background
解决方法:在Manifest注册,那么当发送广播的时候,指定广播接收者的包名,即发送显式广播
Intent intent = new Intent("com.xxx.xxx.receiver");
intent.putExtra("receive","test broadcast");
intent.setPackage(getPackageName()); //添加解决Android8.0发送广播接收不到的问题
sendBroadcast(intent);