我有一個webview活動,其中的url由通知服務更新。當單擊通知時,每次都會創建新的活動以加載更改的URL。這可以通過添加android:launchMode="singleTask"
來避免。在webview活動中阻止多個實例
如果每次點擊通知時都會創建一個新活動,它會導致我完全更改內容。但是我想避免每次點擊通知時創建一個新的活動(或者可能創建一個視圖是idk?)。如果我在清單中添加android:launchMode="singleTask"
,它會給我一個副作用,即如果在現有打開的webview活動上發出通知,它不會重定向到更改的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);
我想要什麼?
我想避免每次單擊新通知時創建新活動。
請幫忙! 謝謝。
請粘貼掛起的意圖代碼。您正在使用它來創建通知。 –
每次單擊notif時,如何更改'webview.loadUrl'處的鏈接?這是不是加載你所需的頁面? –
@Akeshwar不,它不。 –