在Android上安装启动服务

时间:2013-04-02 05:26:48

标签: android boot

我的Android应用需要在设备启动时启动。我使用ACTION_BOOT_COMPLETED与广播接收器来处理这个问题。但是,谷歌已对此加以限制。如果应用程序安装在SD卡上,广播接收器将不会收到ACTION_BOOT_COMPLETED消息。它们必须安装在内部存储器上才能在引导时启动。真的太糟糕了。有些设备没有足够的内部存储器。希望Google实施一种在SD卡上安装启动应用程序的方法。

与此同时,还有其他解决方法,我可以让我的应用程序启动但是已将其安装在SD卡上吗?

2 个答案:

答案 0 :(得分:2)

这是真正的问题 - 在发送BOOT_COMPLETE时,SD卡尚未安装。如果你在接收器中调用getExternalStorageDir它实际上会失败 - 它还无法读取驱动器。除非他们决定这样做(这会大大减慢启动完成事件),否则它们无法使其适用于SD卡应用程序。

您可以构建一个引导加载程序类型的应用程序,该应用程序在内部存储上,等待安装外部存储,然后通过启动您的服务/活动来运行您的应用程序,如@Lucifer建议的那样。这是你最好的选择。

答案 1 :(得分:0)

Google Play中提供的此应用可用于在启动时启动应用: https://play.google.com/store/apps/details?id=info.niwota.start