我需要在媒体卸载时获得广播接收,即在卸载媒体之前。
这样我就可以在卸载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来保存文件。
答案 0 :(得分:3)
使用ACTION_MEDIA_EJECT: 用户表示希望删除外部存储介质。应用程序应在收到此意图时关闭它们在挂载点中打开的所有文件。要弹出的媒体的安装点的路径包含在Intent.mData字段中。
答案 1 :(得分:1)
尝试android.intent.action.ACTION_MEDIA_UNMOUNTED
它应该接收广播。但我不确定。从未使用过。
答案 2 :(得分:0)
您只能在广播完成或完成后播放,因此您将无法保存到SD卡。
建议您可以将文件临时保存到内部存储中,然后当存在SD卡时,将其移回SD卡。