gpt4 book ai didi

broadcastreceiver - Android 7 BroadcastReceiver onReceive intent.getExtras 丢失数据

转载 作者:行者123 更新时间:2023-12-04 04:24:42 29 4
gpt4 key购买 nike

我的应用程序无法在 Android 7 上运行。调用了我的 BroadcastReceiver.onReceive 方法,但缺少 intent.getExtras 的内容。我已验证数据已正确加载。这是我的 onReceive 方法的一个片段,其中意图作为参数传递给 onReceive。

Bundle bundle = intent.getExtras();
textMessage = bundle.getString("TEXT_MESSAGE");
ArrayList<MyPhoneNumber> phoneNumbersToText = bundle.getParcelableArrayList("PHONE_NUMBERS");

textMessage 和 phoneNumbersToText 都为 null。

这是我的 list 文件中的一个片段:
<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 需要哪些更改的任何想法?

谢谢

最佳答案

+1,看来你和我有同样的问题。我将它记录在您评论的跟踪器( https://code.google.com/p/android/issues/detail?id=216581 )上。

我的解决方案是使用 SharedPreferences 来存储我的自定义对象。然后,当警报管理器触发时,我运行以下命令以取出对象。
tl; dr,我使用 GSON 将我的自定义 POJO 输入/输出 SharedPrefs 作为字符串序列化/反序列化。例如:

 String json = getSharedPrefs(context).getString(NotificationUtility.NEXT_REMINDER_KEY, "No reminder found");
try {
Gson gson = new Gson();
Reminder reminder = gson.fromJson(json, Reminder.class);
if (reminder != null) {
return reminder;
}
} catch (Exception error) {
Log.i(TAG, "Error parsing json: " + error.getMessage(), error);
return null;
}
return null;

希望这可以帮助你!

关于broadcastreceiver - Android 7 BroadcastReceiver onReceive intent.getExtras 丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775285/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com