我有两个活动
MainActivityDeepLinkActivity我设置了所有内容,NavUtils以便像在这里,这里和这里建议一样进行导航.
我想要实现的是:
DeepLinkActivity深层链接开始MainActivity只要我的应用程序在最近的应用程序中有任何任务,一切都很好.
但是,当我从最近的应用程序中删除我的应用程序时,它的行为如下:
DeepLinkActivity深层链接开始我调试了代码,然后发现,NavUtils.shouldUpRecreateTask()返回false.
upIntent将所有内容设置为正常,就像我的Component设置一样.但是,NavUtils.navigateUpTo()行为就像打电话一样finish().没有日志声明,没有.
任何想法,如何解决?
AndroidManifest.xml中
<activity
android:name=".DeepLinkActivity"
android:parentActivityName="my.package.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="my.package.MainActivity"/>
<intent-filter>
<!-- Some intent filter -->
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
DeepLinkActivity.java
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent upIntent = NavUtils.getParentActivityIntent(this);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
// create new …Run Code Online (Sandbox Code Playgroud) 源代码可在此处获取:https://github.com/novemberox/NavigationTest此示例的修改版本:http://developer.android.com/training/implementing-navigation/ancestral.html
我有三个活动:
Main Activity 只是申请的主要入口Category Activity 它是详细活动的父级Detail ActivityMain Activity有打开的按钮Category Activity和Detail Activity.
Category Activty只有一个按钮打开Detail Activity.最后Detail Activity,它显示了一些文本,并具有模拟点击ActionBar的向上按钮.
我的"点击"路径是:
这是预期的流程,并且在Jelly Bean(在Galaxy Nexus 4.1.1和模拟器4.2 Google exppack上测试)之前,它在每个Android上运行良好.它甚至可以在ICS上运行.我正在使用支持库和类似NavUtils和TaskStackBuilder的类,就像我在开始时指出的示例一样.
在JB上单击"向上按钮"时,它返回到主活动状态,状态恢复正常.我查看了支持库的源代码,我看到该NavUtils.navigateUpTo方法调用本机JB代码Activity#navigateUpTo.我尝试了两个NavUtils#navigateUpTo()并且NavUtils.navigateUpFromSameTask()具有相同的不满意结果.
你有什么建议要做这个好流程吗?