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);