2012-02-04 55 views
6

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

这样我就可以在媒体卸载之前将文件保存在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,所有这些都是在媒体卸载后收到的。

是否有任何其他的方式来保存文件。我不想使用线程来保存文件。

+0

你可以发布你的代码吗? – Lucifer 2012-02-04 09:08:10

回答

1

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

+0

尝试ACTION_MEDIA_SHARED – 2012-02-04 09:34:56

+0

ACTION_MEDIA_REMOVED – 2012-02-04 09:35:46

+0

我刚刚测试未安装在银河系的年轻人。其收到 – 2012-02-04 09:57:05

0

您只能在完成或执行后才能获得广播,因此您将无法保存到SD卡。

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

3

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