重新安装SD卡时,在SD卡上重新启动应用程序

由于压倒性的用户投诉,我决定尝试允许我的Android应用程序的用户将其移动到SD卡正式文件 。 但是,我的应用程序的核心function需要后台服务持续运行。 当有人将我的应用程序移动到他们的SD卡上,无论什么原因,我的后台服务将被杀死。

只要我可以在第一个可用的机会重新启动服务,这一切都可以。 不幸的是,尽pipe安装位置指南声称我可以使用广播意图ACTION_EXTERNAL_APPLICATIONS_AVAILABLE来检测SD卡何时重新安装在本地,但是该标志本身的文档, 本新闻组讨论以及我自己的testing显示,此广播未传送到应用程序变得可用。 只有没有被移动到SD卡的应用程序才能获得广播意图。

有没有办法重新启动我的后台服务,而不必等待用户在SD卡重新安装后打开我的应用程序?

Solutions Collecting From Web of "重新安装SD卡时,在SD卡上重新启动应用程序"

不可靠。 您可以挂接到最终应该触发的无权限广播Intents (例如, ACTION_SCREEN_OFF ),并以此方式获得控制权。 正如ACTION_EXTERNAL_APPLICATIONS_AVAILABLE女士所说的, ACTION_EXTERNAL_APPLICATIONS_AVAILABLE的正确答案是固定的。 在外部应用程序可用之后(例如, ACTION_MEDIA_MOUNTED ),您可能还会看到是否发生了一些与SD卡有关的广播,但我期望所有这些广播在外部应用程序可用之前已经通过。