Android8.0需要显式发送广播

在Android 8.0 发送广播包的时候出现以下报错信息:

Android8.0新的更改,导致api26以上PendingIntent不能正常发送广播,解决办法如下:

private static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 0x01000000;
Intent voiceIntent = new Intent(Constans.ACTION_ROKID_VOICE_EVENT);
voiceIntent.putExtra("eventName",eventName);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
    voiceIntent.setFlags((voiceIntent.getFlags() | FLAG_RECEIVER_INCLUDE_BACKGROUND));
}
this.sendBroadcast(voiceIntent);

 

你可能感兴趣的:(android开发,点滴积累)