2012-02-04 57 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字段中包含要彈出媒體的裝入點的路徑。