2011-08-06 18 views
1

私はSDカードからメディアを読み取り、それを再生するアプリケーションに取り組んでいます..しかし、SDカードが物理的に取り外されたときデバイスまたはデバイスはコンピュータに接続され、SDカードはコンピュータにマウントされます.SDカードが取り外されるたびに通知が生成され、通知バーに表示されます。私は自分のアプリケーションがそれらの通知に応答するようにしたい。たとえば、ユーザーがカードを物理的に取り外したり、コンピュータに接続したりするたびに、アプリケーションに「sd card removed」のようなメッセージを表示させたいと思います。これらの通知に応答する方法はありますか?Android:SDカードがマウントされていないことを知る方法

答えて

2

私はアプリケーションがこれらの通知に応答するようにしたいと思います。

いいえ、ありません。あなたはIntentsブロードキャストに応答し、それらはNotificationsの作成にも使用されます。

ブロードキャストアクションのセットACTION_MEDIA_*documentation for the Intent classを参照してください。

+0

私はあなたが非常に多くの権利だと思います..あなたは、もう少し詳しく説明していただけます。私はアンドロイドではかなり初心者です。あなたは非常に高く評価されることを助ける..ありがとう。 – Farhan

1

私は質問が古いことを知っていますが、ここではこのコードを探していましたので、ここにあります。レシーバを登録manifest.xmlには

<receiver android:name="it.myapp.receiver.OnMediaMountedReceiver" android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.MEDIA_MOUNTED" /> 
     <data android:scheme="file"/> 
    </intent-filter> 
</receiver> 

は次に受信機のクラスを作成します。

public class OnMediaMountedReceiver extends BroadcastReceiver { 

private static final String TAG = OnMediaMountedReceiver.class.getSimpleName(); 

@Override 
public void onReceive(Context arg0, Intent intent) { 
    Log.i(TAG, "Media mounted!"); 
    if (intent != null && intent.getData() != null) { 
     Log.i(TAG, "Media path: " + intent.getDataString()); 
    } 
    } 
} 
関連する問題