Android 如何在sd卡卸载时干净地退出外部应用程序?

Android 如何在sd卡卸载时干净地退出外部应用程序?,android,app2sd,Android,App2sd,我的应用程序包括一项服务,我正在寻找一种方法,当应用程序安装在sd卡上,并且sd卡被卸载时,可以优雅地退出。我不需要在sd卡再次挂载后重新启动服务。我只需要释放一些文件/资源等 我想听听Intent.ACTION\u MEDIA\u EJECT,但这显然是在外部应用程序被迫退出后广播的 有什么解决方案吗?谷歌不建议将带有服务的应用程序安装在外部存储设备上。@commonware:我知道,但在文档中这只是一个“不应该”,还有一些关于如何自动重新启动服务的提示。因此,应该有一种干净的退出方式。顺便说

我的应用程序包括一项服务,我正在寻找一种方法,当应用程序安装在sd卡上,并且sd卡被卸载时,可以优雅地退出。我不需要在sd卡再次挂载后重新启动服务。我只需要释放一些文件/资源等

我想听听Intent.ACTION\u MEDIA\u EJECT,但这显然是在外部应用程序被迫退出后广播的


有什么解决方案吗?

谷歌不建议将带有服务的应用程序安装在外部存储设备上。@commonware:我知道,但在文档中这只是一个“不应该”,还有一些关于如何自动重新启动服务的提示。因此,应该有一种干净的退出方式。顺便说一下,在我的情况下,卸载时服务是否关闭并不重要。但我想干净利落地退出。我同意,这似乎是一个合理的要求。我也在同一条船上。我同意服务关闭,而不是自动重新启动(或者我可以实现他们的广播建议),但我很失望地看到服务在没有任何警告的情况下被完全终止。LogCat只是以一个条目结尾,上面写着“计划重新启动崩溃的服务…”我有点期待OnDestroy会启动,但它没有。我还以为我可以收听广播,但显然不行。你觉得这种“不干净”终止协议的哪一方面需要清理?谷歌不建议将带有服务的应用程序安装在外部存储上。@Commonware:我知道,但在文档中这只是“不应该”,还有一些关于如何自动重启服务的提示。因此,应该有一种干净的退出方式。顺便说一下,在我的情况下,卸载时服务是否关闭并不重要。但我想干净利落地退出。我同意,这似乎是一个合理的要求。我也在同一条船上。我同意服务关闭,而不是自动重新启动(或者我可以实现他们的广播建议),但我很失望地看到服务在没有任何警告的情况下被完全终止。LogCat只是以一个条目结尾,上面写着“计划重新启动崩溃的服务…”我有点期待OnDestroy会启动,但它没有。我还以为我可以听广播,但显然不行。你觉得这种“不干净”的终止有什么特别的地方需要清理?