当SD卡卸载android时获得广播接收

时间:2012-02-04 08:54:43

标签: android android-intent

我需要在媒体卸载时获得广播接收,即在卸载媒体之前。

这样我就可以在卸载Media之前将文件保存在SD卡中。

我使用了android.intent.action.MEDIA_UNMOUNTED。

        <intent-filter>
            <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
            <data android:scheme="file" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>

但它是在媒体卸载后收到的,然后我无法保存文件。

我还尝试了MEDIA_EJECT,MEDIA_SHARED,所有这些都是在Media已卸载后收到的。

还有其他方法可以保存文件。我不想使用Thread来保存文件。

3 个答案:

答案 0 :(得分:3)

使用ACTION_MEDIA_EJECT: 用户表示希望删除外部存储介质。应用程序应在收到此意图时关闭它们在挂载点中打开的所有文件。要弹出的媒体的安装点的路径包含在Intent.mData字段中。

答案 1 :(得分:1)

尝试android.intent.action.ACTION_MEDIA_UNMOUNTED它应该接收广播。但我不确定。从未使用过。

答案 2 :(得分:0)

您只能在广播完成或完成后播放,因此您将无法保存到SD卡。

建议您可以将文件临时保存到内部存储中,然后当存在SD卡时,将其移回SD卡。