我的应用程序不适用于Android 7.我的BroadcastReceiver.onReceive方法被调用,但intent.getExtras的内容缺失。我已验证数据是否正确加载。这是我的onReceive方法的一个片段,其中intent作为参数传递给onReceive。Android 7 BroadcastReceiver onReceive intent.getExtras缺少数据
Bundle bundle = intent.getExtras();
textMessage = bundle.getString("TEXT_MESSAGE");
ArrayList<MyPhoneNumber> phoneNumbersToText = bundle.getParcelableArrayList("PHONE_NUMBERS");
textMessage和phoneNumbersToText都为空。
下面是从我的清单文件中的一个片段:
<receiver android:process=":remote" android:name="com.friscosoftware.timelytextbase.AlarmReceiver"></receiver>
在此处,将数据加载一个片段:
Intent intent = new Intent(context , AlarmReceiver.class);
intent.putExtra(Constants.TEXT_MESSAGE, scheduledItem.getMessageToSend());
intent.putExtra(Constants.PHONE_NUMBERS, scheduledItem.getPhoneNumbersToText());
PendingIntent sender = PendingIntent.getBroadcast(context, getRequestCodeFromKey(key), intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the AlarmManager service
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, selectedDateTime.getTimeInMillis(), sender);
相同的代码工作正常,在Android的6
有什么想法此处需要对Android 7进行哪些更改?
谢谢
谢谢,我会试试你的建议。希望有一个解决方案即将出台。 –
您的解决方案有效,但由于其他原因,我决定将数据存储在数据库中,只需传递密钥即可。 –