Android通知导航回退
嗨,团队,我在通知后台遇到了一个问题 假设我有4个活动A1、A2、A3、A4 我有一个关于A2的通知,假设我们在A4中,通过A1->A2->A3->A4,现在我收到通知,在点击通知的同时,我打算点击A3,当我在这个场景中按下后,我的导航堆栈被清除,应用程序被关闭 但在这种情况下,我的预期行为是,它应该转到A4和A3、A2、A1,然后按倒车按钮 代码 清单文件Android通知导航回退,android,android-activity,android-notifications,Android,Android Activity,Android Notifications,嗨,团队,我在通知后台遇到了一个问题 假设我有4个活动A1、A2、A3、A4 我有一个关于A2的通知,假设我们在A4中,通过A1->A2->A3->A4,现在我收到通知,在点击通知的同时,我打算点击A3,当我在这个场景中按下后,我的导航堆栈被清除,应用程序被关闭 但在这种情况下,我的预期行为是,它应该转到A4和A3、A2、A1,然后按倒车按钮 代码 清单文件 <application android:allowBackup="true" android:icon="@mi
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
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=".FirstActivity" >
</activity>
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second"
android:parentActivityName=".FirstActivity"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
<activity
android:name=".ThirdActivity"
android:label="@string/title_activity_third"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
</application>
您对
addParentStack()
使用了错误的参数。您应该将从通知中打开的活动视为参数,而不是其父级。因此,请将代码更改为:
stackBuilder.addParentStack(SecondActivity.class);
如果您的通知是A2,它将始终打开A2,而不是A3
android:parentActivityName
是在API级别16中引入的。如果在旧手机上运行此功能,则必须将父活动定义为元数据:
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second"
android:parentActivityName=".FirstActivity"
android:theme="@style/AppTheme.NoActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".FirstActivity" />
</activity>
显示通知创建代码和AndroidManifest.xml
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second"
android:parentActivityName=".FirstActivity"
android:theme="@style/AppTheme.NoActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".FirstActivity" />
</activity>