我正在点击通知时打开一个活动。但如果该活动已经开放,那么我想重新开放该活动。从重新打开我的意思是;关闭该活动并再次打开它以显示更新的数据。为此,我将这行代码添加到通知的意图中:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
但问题是,当我点击/点按通知时,整个应用程序已关闭,而不是仅完成该活动。所以请帮忙。
答案 0 :(得分:1)
您可以检查Activity
是否已经打开。我这样做了
public static boolean FLAG=false;
<{1>}中的将其设为onCreate
true
现在您可以在@Override
protected void onCreate(Bundle savedInstanceState) {
FLAG=true;
.
.
}
类中检查此变量的值。
Notification
答案 1 :(得分:0)
使用此
notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = null;
notificationIntent = new Intent(context, SplashScreen.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent intent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
RemoteViews notiview = new RemoteViews(getPackageName(),
R.layout.notification_layout);
final NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context).setSmallIcon(small_icon)
// .setContentTitle(title)
.setAutoCancel(true)
// .setStyle(
// new NotificationCompat.BigTextStyle().bigText(message))
.setDefaults(
Notification.DEFAULT_SOUND
| Notification.DEFAULT_VIBRATE)
// .setContentText(message).setNumber(noticount);
.setContent(notiview);
notiview.setTextViewText(R.id.noti_msgcount, "" + noticount);
notiview.setTextViewText(R.id.noti_msgtxt, msgOld);
mBuilder.setContentIntent(intent);