0

在我的应用程序中,在一个活动(AndroidNotification.java)中,我正在执行以下操作:

1)当用户按下主页按钮时,我会显示一条通知。

2)当用户单击通知时,我会显示带有活动的应用程序 - AndroidNotification.java

3)当我的应用程序出现时,我关闭通知栏上的通知(即在 onResume 方法中)

下面的代码工作,但问题是通知再次调用活动(AndroidNotification.java)

我的问题是我不想重新启动活动,通知应该带来

活动从后台到前台,它不应该调用重新启动。

当前行为的结果是再次调用活动,以便再次使用整个功能。那就是问题所在 。

我的代码:

private NotificationManager mNotificationManager;
Notification notifyDetails;
......
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notifyDetails = new Notification(R.drawable.ic_launcher,
            "Notification, Click Me!", System.currentTimeMillis());

    Context context = AndroidNotification.this;
    CharSequence contentTitle = "Notification Test";
    CharSequence contentText = "Get back to Application on clicking me.";

    Intent notifyIntent = new Intent(context, AndroidNotification.class);
    notifyIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT );

    PendingIntent intent = PendingIntent.getActivity(
            AndroidNotification.this, 0, notifyIntent,0);

    // Set properties to notify object - its title, text
    notifyDetails.setLatestEventInfo(context, contentTitle,contentText, intent);

    // Notify user in status bar
    mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);

是否需要为 AndroidManifest.xml 中的特定活动添加任何内容

请帮我。

4

1 回答 1

2

我已经通过在创建方法中添加以下内容来解决

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { 
    // Activity was brought to front and not created, 
    // Thus finishing this will get us to the last viewed activity 
    finish(); 
    return; 
}
于 2012-08-01T07:46:28.563 回答