修改/更新
作为对以下问题的更新,我找到了导致它发生的确切行为。
所以看起来这个问题是由安装APK后浏览器提供的“打开”按钮引起的。
首次安装时,我在应用程序的历史堆栈中遇到错误。我做了一个测试应用来证明这一点。
测试应用程序只是两个活动,A和B.活动A启动B.就是这样。 Rest是来自eclipse的向导生成的模板代码。
当用户安装应用程序(通过web url apk)并在第一次时间运行时,我会得到一个无序的活动堆栈:
- 用户启动应用程序,A位于顶部
- 通过单击按钮使A启动B. B位于堆栈顶部
- 用户点击主屏幕按钮
- 用户返回应用程序,显示A而不是B.
- 用户点击后退键,显示B!
- 用户再次击中后退键,显示A!
- 用户再次点击后退键,显示主屏幕
- 现在堆栈是干净的,应用程序从现在起“正常”运行!
还有其他人看到这个吗?这几乎就像这个已知的bug,但我的用户不是从eclipse安装的: http://code.google.com/p/android/issues/detail?id=2373&q=first%20%20i ...
如果有人想尝试,我可以提供测试应用/来源。这是清单,没有任何特殊的自定义。
<activity android:name=".ActivityA"
android:label="ActivityA"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ActivityB"
android:label="ActivityB"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
据我所知,这肯定不会发生,并且在你第一次清除历史堆栈后工作正常。
由于