我想在通知点击上启动一个活动(重新启动,没有任何先前保留的状态)。如果此活动已经在堆栈中,请将其置于顶部但没有任何先前的状态。
到目前为止,我已经尝试将Flags设置为Passed Intent。
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|INTENT.FLAG_ACTIVITY_SINGLE_TOP)
但是他们不能达到目的。任何建议我如何实现这一点。
答案 0 :(得分:0)
你走了。
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
Intent notificationIntent = new Intent(context, HomeActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);
在anystate中打开应用程序。
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(LaunchIntent);
答案 1 :(得分:0)
如果从发布中删除|Intent.FLAG_ACTIVITY_SINGLE_TOP
,则应重新启动活动。
在启动标志中指定|Intent.FLAG_ACTIVITY_SINGLE_TOP
会导致重用现有实例。如果删除它,现有实例将完成,并将启动一个新实例。