Я хочу показать уведомление на каком-то мероприятии, это работает нормально, я также выполняю действие, которое хочу, но проблема в том, что данные о намерениях пусты, пожалуйста, вот код
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()
);
В этой строке я отправляю некоторые данные, используя намерение.
resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString(
cursor.getColumnIndexOrThrow(DatabaseHelper.ID)));
Я получаю данные здесь, но они пустые.
Intent receivedIntent = getIntent();
mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);
Пожалуйста, помогите, я потратил на это целый день.




Вам нужно изменить свой PendingIntent для:
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0 , resultIntent, PendingIntent.FLAG_CANCEL_CURRENT);
Надеюсь, это решит вашу проблему.
Вы переходите в строку намерения, поэтому вы не можете получить Integer из намерения, поэтому вы получаете null.
Так что измените эту строку:
mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);
к
mMovieId = receivedIntent.getStringExtra(Constants.MOVIE_ID);
// and simply parse string to integer
int id = Integer.parseInt(mMovieId);
Что вы имеете в виду под «его нет в стеке»? У тебя нет кнопки, чтобы вернуться, ты это имеешь в виду?
Спасибо, братан, я решил проблему, но теперь сталкиваюсь с другой проблемой. Я напрямую попадаю на MovieDetailActivity, это хорошо, но я не могу вернуться к основному действию, так как его нет в стеке, и приложение завершается.