我有一个非常奇怪的问题,网站上已有的问题都没有答案或相同的问题。
我有一个接收 BOOT_COMPLETED 的应用程序。
我通过将 android:installLocation 设置为internalOnly 确保它可以接收意图。
我的 OnBoot 类中有一个 Log.Debug,确认它是否被调用。
我有两台设备,一台 Android 2.2 和一台 Honeycomb。
在 android 2.2 上,它工作正常,但是 Honeycomb...
如果我使用 Eclipse 的“运行”按钮在蜂窝平板电脑上安装应用程序,则平板电脑启动时会调用 onBoot 。
如果我在导出 *.apk 文件后在蜂窝平板电脑上安装应用程序,则永远不会调用 onBoot。
如果我在导出 *.apk 文件后在蜂窝平板电脑上安装应用程序,并在重新启动之前手动启动活动,则会调用 onBoot。
似乎应用程序需要至少启动一次活动才能注册接收器...感觉不对,因为应用程序可能没有活动,而 Froyo 不能那样工作...
假设您使用的是 android 3.1,这将按预期工作。然后。
3.1 及更高版本上安装的应用程序位于stopped安装后状态。它们必须由用户明确启动至少一次才能摆脱这种情况。
处于停止状态的应用程序不会收到任何广播意图,包括BOOT_COMPLETED
.
See 安卓3.1。 - API 概述 - 对已停止的应用程序启动控件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)