Android – 重新启动SD卡上的应用程序服务,当SD卡被重新安装

由于用户投诉压倒一切,我决定尝试让我的 Android应用程序的用户按照 the official documentation将其移动到SD卡.但是,我的应用程序的核心功能要求后台服务不断运行.当我的应用移动到SD卡的人因为任何原因而安装SD卡时,我的后台服务将被杀死.

只要我能在第一个可用的机会重新启动服务,我可以这样做.不幸的是,尽管install-location指南声称我可以使用Broadcast Intent ACTION_EXTERNAL_APPLICATIONS_AVAILABLE来检测SD卡何时在本地重新安装,该标志本身的文档this newsgroup discussion和我自己的测试表明,此广播未传送到可用的应用程序.只有尚未移动到SD卡的应用程序才能获得广播意图.

在重新安装SD卡后,是否有任何方法可以重新启动后台服务,而无需等待用户打开我的应用程序?

解决方法

不可靠您可以挂接到最终触发的无权广告意图(例如ACTION_SCREEN_OFF),并获得控制权.正如Hackborn女士所说,正确的答案是ACTION_EXTERNAL_APPLICATIONS_AVAILABLE是固定的.您可能还会看到在外部应用程序可用后(例如,ACTION_MEDIA_MOUNTED)是否发生了一些SD卡相关广播,尽管我希望所有这些广播在外部应用程序可用之前已经通过.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...