Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';在Android N中通过intent传递对象_Android_Android Intent_Broadcastreceiver_Android 7.0 Nougat - Fatal编程技术网

Can';在Android N中通过intent传递对象

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

在Android N中,我通过intent传递对象时遇到问题。下面的代码在Android pre-N版本中工作得非常好,但在Android N中,我试图通过intent传递的对象为空。有人能帮我解决这个问题吗

我曾尝试使用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中,我为任务获取空值:

     @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
、应用程序内打开等相关),但从未遇到过不同操作系统版本的问题。但还是。。。如果您真的不需要
操作
只需设置任何内容,我将使用时间戳来区分每个
意图
。这只是一个猜测,所以我只是评论,不是回答;)我尝试设置一个操作,但问题仍然存在。无论如何,谢谢你:)