如何重新打开点击/点按通知的活动

时间:2016-05-21 09:57:14

标签: android

我正在点击通知时打开一个活动。但如果该活动已经开放,那么我想重新开放该活动。从重新打开我的意思是;关闭该活动并再次打开它以显示更新的数据。为此,我将这行代码添加到通知的意图中:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

但问题是,当我点击/点按通知时,整个应用程序已关闭,而不是仅完成该活动。所以请帮忙。

2 个答案:

答案 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);