如何在另一个Activity中指定活动状态是否处于活动状态

时间:2015-12-11 07:02:15

标签: java android

我在这里向“Gcm”班级的应用发送通知。我正在将意图传递给群聊活动。如果该活动已处于活动状态,我想在“Gcm”处完成该群聊活动。

如何在另一项活动中设置活动是否处于运行状态

这是我的gcm通知代码:

  Intent groupChatActFrag = new Intent(getApplicationContext(), GroupChatActivity.class);

            //here messageMO having the details of received message here i am setting eventId from messageMO to eventMO
            // Inorder to passs gropchatActivity

            eventMO.setEventId(messageMO.getEventId());
            groupChatActFrag.putExtra("eventMo", eventMO);

            Log.e("gcm ","eventid"+eventMO);
            groupChatActFrag.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

            SharedPreferences.Editor editor = sharedpreferences.edit();
            editor.putString("MessageMO", gson.toJson(messageMO));
            editor.commit();
            PendingIntent contentIntent = PendingIntent.getActivity(this, 0, groupChatActFrag, PendingIntent.FLAG_UPDATE_CURRENT);


            NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_dialog_info).setContentTitle(messageMO.getEventTitle())
                    .setStyle(new NotificationCompat.BigTextStyle().bigText(messageMO.getfromUserName())).setContentText(messageMO.getMessage()).setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));

            mBuilder.setContentIntent(contentIntent);

            mBuilder.setAutoCancel(true);
            mNotificationManager.notify((int) (long) messageMO.getEventId(), mBuilder.build());

1 个答案:

答案 0 :(得分:0)

我会这样做的两种方式: 1]使用共享首选项并在开始结束活动时添加布尔值。 2]序列化一个对象并使用布尔值传递它(类似但更可靠)。

此链接可能有所帮助:Link

您可以保存状态并在需要时使用它。

这些链接也可能有用:Detect if activity is runningcheck if acitivity is running