h.n*_*ehi 8 android android-notifications back-stack android-task
在我的应用程序中,我创建了一个启动Details Activity的通知.我想将此活动添加到当前任务(或后台堆栈)的顶部.例如,我希望应用程序任务(后台堆栈)的行为如下:
但是我得到了这个:
我没有使用FLAG_ACTIVITY_CLEAR_TASK和FLAG_ACTIVITY_NEW_TASK标志.我该怎么办?
编辑:第一张图片只是一个例子.我认为问题的标题是完全明确的.我想在当前堆栈的顶部添加Details Activity,而不是从新任务开始.
这就是我创建的方式PendingIntent:
// Details activity intent
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra(Com.KEY_ID, event.getId());
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)
这是显而易见的:
<activity
android:name=".MainActivity"
android:label="@string/app_name_system"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".NoteActivity"
android:label="@string/app_name_system"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".DetailsActivity"
android:launchMode="singleTop"
android:label="@string/app_name_system"
android:theme="@style/AppTheme.NoActionBar" />
Run Code Online (Sandbox Code Playgroud)
我找到了这个链接:启动活动时保留导航。虽然它没有为我的问题提供确切的解决方案,但它产生了预期的结果。
该链接描述了我们应该开始具有不同亲和力DetailsActivity的新任务。
显现:
<activity
android:name=".DetailsActivity"
android:excludeFromRecents="true"
android:label="@string/app_name_system"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/AppTheme.NoActionBar" />
Run Code Online (Sandbox Code Playgroud)
PendingIntent创建:
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra(Com.KEY_ID, event.getId());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1242 次 |
| 最近记录: |