Android通知点击恢复活动

时间:2014-10-09 08:38:59

标签: android android-activity notifications

我的app的状态栏中有通知。这个问题是当你从应用程序按下主页按钮(将其推到后台)时,按下状态栏中访问的列表中的通知,它开始了活动的新副本。我想要做的就是恢复应用程序(比如当你长按主页按钮并按下应用程序的图标时)。有没有办法创建一个Intent来做到这一点?

2 个答案:

答案 0 :(得分:1)

在AndroidManifest中为您的活动声明launchMode="singleInstance"属性。 http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

  

相比之下," singleTask"和" singleInstance"活动只能   开始一项任务。它们始终位于活动堆栈的根部。   此外,该设备只能在a处保存一个活动实例   时间 - 只有一个这样的任务。

答案 1 :(得分:0)

private void startNotificationOnStatusBar() {
    try {
        Intent notificationIntent = new Intent(this, RadioPlayerActivity.class);
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent intent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.icon)
            .setContentTitle("Title")
            .setContentIntent(intent)
            .setPriority(2)
            .setContentText("Content text")
            .setAutoCancel(true);
        mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(0, mBuilder.build());
    } catch (Exception e) {
    }
}

这是我的代码,没有AndroidManifest修改。这是完美的。当用户点击通知时,它会恢复而不执行onCreate()方法。