android - 重新挂载SD卡后重启SD卡上的APP服务

标签 android sd-card android-sdcard

由于大量的用户投诉,我决定尝试允许我的 Android 应用程序的用户根据 the official documentation 将其移动到 SD 卡上.但是,我的应用程序的核心功能需要后台服务持续运行。当有人将我的应用程序移动到他们的 SD 卡时,无论出于何种原因安装他们的 SD 卡,我的后台服务都会被终止。

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

有什么方法可以在重新挂载 SD 卡后不等待用户打开我的应用程序而重新启动我的后台服务?

最佳答案

不可靠。您可以连接到无许可广播 Intents(例如,ACTION_SCREEN_OFF),它最终应该触发并以这种方式获得控制权。正如 Hackborn 女士指出的那样,正确的答案是修复 ACTION_EXTERNAL_APPLICATIONS_AVAILABLE。您可能还会看到一些与 SD 卡相关的广播是否恰好在外部应用程序可用后发生(例如,ACTION_MEDIA_MOUNTED),尽管我希望所有这些都在外部应用程序可用之前通过。

关于android - 重新挂载SD卡后重启SD卡上的APP服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964375/

相关文章:

android - 授予安装时不存在的权限

android - Viewpager - 尝试处理 catch 但指针索引超出范围

android - 将 sqlite 数据库文件导出为 XML,然后导出为 Excel 电子表格

Android;强制 AppWidget 从 SD 卡工作?

java - 图像未保存在我的相机应用程序中

android - react 原生 firebase 与 expo 裸应用程序的集成

android - .NET 中的序列化 - Android 中的反序列化

c - 在 C 中连接字符串的最谨慎的方法

Android:在SD卡中加载自定义字体

SD卡上的html5本地存储