Android PendingIntent。后退按钮关闭应用程序,而不是从堆栈中恢复上一个活动

时间:2013-12-20 16:47:14

标签: android android-intent

当我从通知中打开一个Activity时,似乎清除了当前的活动堆栈。因为当我按下后退按钮时,应用程序关闭(应该返回上一个活动)。

我使用以下PendingIntent:

PendingIntent.getActivity(context, 0, new Intent(this, DetailsActivity.class, 0);

作为我的通知的内容意图。 DetailsActivity声明为“singleTop”。

理想的情况是只有在没有的情况下才能在堆栈顶部打开DetailsActivity。这似乎正是“singleTop”应该做的事情。

我的AndroidManifest看起来像这样:

<activity
    android:name=".DetailsActivity"
    android:label="@string/app_name"
    android:theme="@style/Holo.Theme.Light"
    android:launchMode="singleTop">
</activity>
<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/Holo.Theme.Light" />

我使用NotificationCompat.Builder来构建通知。意图就像我的问题一样。 我使用时情况完全相同:

Intent intent = new Intent(context, DetailsActivity.class);

TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addParentStack(DetailsActivity.class);
stackBuilder.addNextIntent(intent);

PendingIntent pi = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

和:

<activity
    android:name=".DetailsActivity"
    android:label="@string/app_name"
    android:theme="@style/Holo.Theme.Light"
    android:parentActivityName=".MainActivity">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>

该项目使用HoloEverywhere库。我也不会覆盖onBackPressed()

为什么应用程序关闭而不是恢复以前的活动?

0 个答案:

没有答案