我正在使用Intent从通知面板重新启动应用,但在启动新实例之前,无论在哪个状态应用中,都可以关闭现有的相同开放应用。
任何想法/建议。
答案 0 :(得分:1)
只需在创建Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK
时添加Intent
即可启动应用。
注意:但是,这只有在您的根Activity
仍然存在于任务中时才会起作用(即:在启动任何其他finish()
时,您没有在其上调用Activity
你的任务。
答案 1 :(得分:0)
使用必须使用一些标志,这可能有助于你
Intent notificationIntent = new Intent(context, MainActivity.class);
// set intent so it does not start a new activity
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;
// Play default notification sound
notification.defaults |= Notification.DEFAULT_SOUND;
// Vibrate if vibrate is enabled
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
同时检查您的清单
android:launchMode="singleTop"
从通知启动的活动的属性。