首次安装在设备上时,活动历史记录堆栈错误

时间:2009-12-04 07:46:32

标签: android

修改/更新

作为对以下问题的更新,我找到了导致它发生的确切行为。

  1. 通过Android浏览器从网址下载apk
  2. 安装应用。
  3. 安装完成后,该应用程序会为您提供两种选择:“打开”或“完成”。
  4. 如果选择“打开”,下面描述的古怪行为就会开始。
  5. 如果选择“完成”,则从应用程序托盘启动应用程序,它可以正常工作。
  6. 所以看起来这个问题是由安装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>
    

    据我所知,这肯定不会发生,并且在你第一次清除历史堆栈后工作正常。

    由于

0 个答案:

没有答案