Интент из уведомления не имеет дополнений

Кажется, это обычная проблема, и я уже рассмотрел все связанные вопросы, которые смог найти : . Активность не получает новое намерение , Почему дополнительные данные (целое число )не отправляются в намерении уведомления Android? , Уведомление передает старые дополнения ,Невозможно добавить дополнения к намерению в уведомлении , Проблема уведомления об ожидающем намерении Android ; но до сих пор не могу понять это.

Проблема та же. Я установил уведомление с PendingIntent, содержащим некоторую дополнительную информацию, и я не получаю ее с другой стороны.

Вот код для генерации уведомления:

Notification notification = new Notification(R.drawable.icon, getResources().getString(R.string.notification_ticker), System.currentTimeMillis());
notification.flags = Notification.FLAG_AUTO_CANCEL | Notification.FLAG_ONLY_ALERT_ONCE;

Intent start_test = new Intent(this, MyActivity.class);
start_test.putExtra("start_test", true);
start_test.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent pi = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), start_test, PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(this, getResources().getString(R.string.notification_title), getResources().getString(R.string.notification_content, expired), pi);
nm.notify(NOTIFICATION_ID, notification);

А с другой стороны:

boolean start_test=getIntent().getBooleanExtra("start_test", false);

Пакета на самом деле нет (getExtras ()возвращает null ).

Я пробовал разные флаги дляPendingIntent.getActivity(FLAG_UPDATE_CURRENT, FLAG_CANCEL_CURRENT,FLAG_ONE_SHOT), ни один из них не помог.

Как показано в коде, я использую getCurrentMillis, чтобы убедиться, что идентификатор запроса меняется....

Также обнаружил, что в MyActivity onCreateи onNewIntentне вызываются. только onResume. Несмотря на то, что FLAG_ACTIVITY_NEW_TASKустановлен... ?

Я пропустил что-то очень простое?

43
задан Community 23 May 2017 в 12:32
поделиться