Can';在Android N中通过intent传递对象
在Android N中,我通过intent传递对象时遇到问题。下面的代码在Android pre-N版本中工作得非常好,但在Android N中,我试图通过intent传递的对象为空。有人能帮我解决这个问题吗 我曾尝试使用bundle传递它,也尝试将其作为字节数组传递,但问题是相同的 这是我的密码:Can';在Android N中通过intent传递对象,android,android-intent,broadcastreceiver,android-7.0-nougat,Android,Android Intent,Broadcastreceiver,Android 7.0 Nougat,在Android N中,我通过intent传递对象时遇到问题。下面的代码在Android pre-N版本中工作得非常好,但在Android N中,我试图通过intent传递的对象为空。有人能帮我解决这个问题吗 我曾尝试使用bundle传递它,也尝试将其作为字节数组传递,但问题是相同的 这是我的密码: Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class); intent.putExtra(S
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中,我为任务获取空值:
@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);
您是否尝试添加
操作
<代码>intent.setAction(System.currentTimeMillis())代码>为什么我需要这个动作?因为它应该总是这样,在某些情况下,缺少它可能会破坏某些行为。我曾多次遇到这个问题(与AppWidget
、应用程序内打开等相关),但从未遇到过不同操作系统版本的问题。但还是。。。如果您真的不需要操作
只需设置任何内容,我将使用时间戳来区分每个意图
。这只是一个猜测,所以我只是评论,不是回答;)我尝试设置一个操作,但问题仍然存在。无论如何,谢谢你:)