我在通过Android N中的意图传递Object时遇到问题。波纹管代码在Android前N版本中完美运行,但在Android N中,我尝试通过intent传递它的Object为null。有人可以帮我解决这个问题吗?
我试图使用bundle传递它,也作为字节数组传递,但问题是相同的。
这是我的代码:
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(SCENARIO, Constants.SCENARIO_REMINDER_RECEIVE);
intent.putExtra(TASK_NAME, task.getTask());
intent.putExtra(TASK_ID, task.getId());
intent.putExtra(TASK_MESSAGE_KEY, task.getMessageKey());
intent.putExtra(TASK_STATUS, task.getStatus());
intent.putExtra("Task", task);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
onReceive中的BroadcastReceiver中的我为任务得到null:
@Override
public void onReceive(Context context, Intent intent) {
task = (Task) intent.getSerializableExtra("Task");
requestCode = intent.getLongExtra(REQUEST_CODE, requestCode);
Timber.d("task in onReceive: " + task);