2

我的应用程序有一个相当奇怪的行为。我在 BOOT_COMPLETE 之后启动我的应用程序,因此在我启动设备后它是可见的。GUI 反应灵敏,一切正常,直到我调用finish(),当按下按钮时,什么也没有发生。GUI 仍然有响应,并且没有产生 ANR 或可疑的 logcat 消息,所以我没有任何提示。

到目前为止,我尝试过:

  • 附加调试器并跟踪调用,但我找不到任何东西
  • 我检查了活动的运行实例(使用eclipse内存分析器),内存中只有一个
  • 我暂停了发射,几秒钟后完成()工作正常(这是我目前的解决方法)

不幸的是,没有有用的代码可以发布来演示这个问题,因为在以后的任何时间点启动 Activity 时,一切都运行良好。

任何想法如何解决这个问题?

我在三星设备上运行 Android 2.1,我在 HTC Desire 上的 Android 2.2 上对其进行了测试,但这个错误在 Nexus 4 上没有发生,也没有在模拟器上发生,也许它是特定于设备/版本的。

编辑 这是活动清单条目

<activity
            android:name=".activity.MyActivity"
            android:enabled="false"
            android:excludeFromRecents="true"
            android:exported="false"
            android:immersive="true"
            android:launchMode="singleInstance"

             >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </activity>
4

1 回答 1

1

为什么您的活动被禁用?来自 Android 文档:

android:enabled - 系统是否可以实例化活动 - 如果可以,则为“true”,否则为“false”。默认值是true”。

这可能会使系统感到困惑,当您调用完成时,它只看到 Activity 已禁用,请尝试将其设为 true。

于 2013-05-21T11:59:17.450 回答