AndroidでSDカードの抜き差しを検知する

AndroidでSDカードが抜き差しされたことを検知する方法。

MEDIA_MOUNTEDとMEDIA_UNMOUNTEDのIntentがブロードキャストされるので、それを受信すればok。

AndroidManifest.xmlに次のように記述する。

<receiver android:name="SDCardMountReceiver">
  <intent-filter>
    <action android:name="android.intent.action.MEDIA_MOUNTED"></action>
    <data android:scheme="file" />
  </intent-filter>
</receiver>
<receiver android:name="SDCardUnmountReceiver">
  <intent-filter>
    <action android:name="android.intent.action.MEDIA_UNMOUNTED"></action>
    <data android:scheme="file" />
  </intent-filter>
</receiver>

BroadcastReceiver を実装する。

public class SDCardMountReceiver extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.d("Test","SDカードがマウントされました。");
  }
}

MEDIA_UNMOUTED時のBroadcastReceiverは省略。

No Comments

Post a Comment

コメントを投稿するには、下の計算の答えを入力する必要があります。答えは半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.