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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...