Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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
Java 如何获取通知意图数据_Java_Android_Notifications - Fatal编程技术网

Java 如何获取通知意图数据

Java 如何获取通知意图数据,java,android,notifications,Java,Android,Notifications,我想在某个活动上显示一个通知,这很好,我也正在登陆一个我想要的活动,但问题是,意图数据是空的,请看这里,这是代码 Intent resultIntent = new Intent(context, MovieDetailActivity.class); resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString( cursor.getColumnIndexOrThrow(Databa

我想在某个活动上显示一个通知,这很好,我也正在登陆一个我想要的活动,但问题是,意图数据是空的,请看这里,这是代码

    Intent resultIntent = new Intent(context, MovieDetailActivity.class);
        resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString(
                cursor.getColumnIndexOrThrow(DatabaseHelper.ID)));
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
        stackBuilder.addNextIntentWithParentStack(resultIntent);
        PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_download)
                .setContentIntent(resultPendingIntent)
                .setContentTitle(cursor.getString(
                        cursor.getColumnIndexOrThrow(DatabaseHelper.NAME)))
                .setAutoCancel(true)
                .setContentText(cursor.getString(
                        cursor.getColumnIndexOrThrow(DatabaseHelper.REALEASE_DATE)));
        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(context.NOTIFICATION_SERVICE);

        notificationManager.notify(1, builder.build()
        );
我在这行中使用intent发送一些数据

resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString(
                cursor.getColumnIndexOrThrow(DatabaseHelper.ID)));
我在这里接收数据,但它为空

Intent receivedIntent = getIntent();
    mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);

请帮忙,我花了一整天的时间在这上面。

你需要把你的吊坠换成:

PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0 , resultIntent, PendingIntent.FLAG_CANCEL_CURRENT);

我希望它能解决您的问题。

您将其传递到intent字符串中,这样就无法从intent中获取整数,这就是为什么会得到null

因此,改变这一行:

mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);


谢谢兄弟,我解决了这个问题,但现在面临另一个问题,我直接进入了MovieDetailActivity,这很好,但我不能回到主要活动,因为它不在堆栈上,应用程序终止..你说“它不在堆栈上”是什么意思?你没有回去的按钮,你是说?
 mMovieId = receivedIntent.getStringExtra(Constants.MOVIE_ID);  
// and simply parse string to integer  
       int id = Integer.parseInt(mMovieId);