0

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

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

4

2 回答 2

2

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

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

于 2013-04-02T05:32:52.233 回答
0

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

于 2013-04-02T06:13:20.080 回答