У меня есть активность веб-просмотра, в которой ее URL-адрес обновляется службой уведомлений. Когда кликнуто уведомление, каждый раз создается новая активность для загрузки измененного URL-адреса. Этого можно предотвратить, добавив android:launchMode="singleTask"
в наиболее явном виде.Предотвращение нескольких экземпляров в активности веб-просмотра
Если при каждом нажатии на уведомление создается новое действие, это приводит меня к тому, что я могу изменить контент. Но я хочу избежать создания нового действия (или, может быть, создается представление idk?) Для каждого щелчка по времени. Если я добавлю android:launchMode="singleTask"
в манифест, это даст мне побочный эффект, т. Е. Если уведомление о существующей открытой активности веб-просмотра будет получено, оно не будет перенаправлено на измененный URL.
В ожидании Намерение уведомления:
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (isMessage) {
Intent intent = new Intent(this, MiscDisplay.class);
intent.putExtra("start_url", url);
intent.setAction("NOTIFICATION_URL_ACTION");
PendingIntent resultPendingIntent = PendingIntent.getActivity(getApplicationContext(), 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mBuilder.extend(new WearableExtender().addAction(message));
mBuilder.setOngoing(false);
mBuilder.setSmallIcon(R.mipmap.ic_launcher);
mBuilder.setOnlyAlertOnce(true);
Notification note = mBuilder.build();
mNotificationManager.notify(1, note);
} else {
mBuilder.setSmallIcon(R.mipmap.ic_launcher);
Intent intent = new Intent(this, MiscDisplay.class);
intent.putExtra("start_url", url);
intent.setAction("NOTIFICATION_URL_ACTION");
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MiscDisplay.class);
stackBuilder.addNextIntent(intent);
PendingIntent resultPendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mBuilder.extend(new NotificationCompat.WearableExtender().addAction(action));
mBuilder.setOngoing(false);
Notification note = mBuilder.build();
mNotificationManager.notify(0, note);
Что я хочу?
Я хочу, чтобы каждый раз, когда нажимается новое уведомление, каждый раз нужно создавать новое действие.
Пожалуйста, помогите! Спасибо.
вставьте код ожидающего намерения. которые вы используете для создания уведомлений. –
Что происходит с изменением ссылки на 'webview.loadUrl' каждый раз, когда кликнуто нота? Не загружает ли вас нужную страницу? –
@Akeshwar нет, это не так. –