2012-04-19 3 views

答えて

1

さまざまなイベントでインテントがブロードキャストされます。その多くは、SDカード(外部メディア)の状態の変化に関するものです。

したがって、適切なインテントのためにBroadcastReceiverを設定する必要があります。参考までにthisページをご覧ください。あなたはACTION_MEDIA_ *アクションを探しています。あなたがSDカード用のブロードキャストレシーバーを使用する必要が

+0

誰もがAndroidで新しいAPIを追加する方法を知っていますか? – jxgn

5

はコードの下のようなファイルAndroidマニフェストにレシーバを追加

public class MyReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    //If SD Card is Removed it will Come Here 

      //Intent service = new Intent(context, WordService.class); 
    //context.startService(service); 
} 
} 

を削除しました。

<receiver android:name="MyReceiver " > 
     <intent-filter> 
      <action android:name="android.intent.action.MEDIA_EJECT" /> 
     </intent-filter> 
    </receiver> 
+0

はMEDIA_REMOVEDまたはMEDIA_EJECTですか?私はマニフェストファイルに任意の権限を含めるべきですか? – jxgn

+0

'ACTION_MEDIA_EJECT'は、ユーザーが* SDカードを*取り除くときにブロードキャストされます(Windowsでは「安全なデバイスの削除」と同様です)。 'ACTION_MEDIA_REMOVED'はカードが実際に削除された後に送られます。私が知る限り、パーミッションは必要ありません。 –

+0

@TonythePony最初に受信したチェックのために他のブロードキャストレシーバが必要かどうかは、受信者に両方のアクションを追加した場合に最初にブロードキャストされます。「MEDIA_REMOVED」または「MEDIA_EJECT」。 – Herry

関連する問題