java代码:
package com.android.Sdcardtest;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
public class SdcardActivity extends Activity {
/** Called when the activity is first created. */
private IntentFilter USBsdcardFilter = null;
private BroadcastReceiver UsbBroadCastReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if (action.equals(Intent.ACTION_MEDIA_MOUNTED))
{
System.out.println("=======================ACTION_MEDIA_MOUNTED================");
} else if (action.equals(Intent.ACTION_MEDIA_EJECT))
{
System.out.println("=======================ACTION_MEDIA_EJECT================");
}
else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED))
{
System.out.println("=======================ACTION_MEDIA_UNMOUNTED================");
}
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
USBsdcardFilter = new IntentFilter();
USBsdcardFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
USBsdcardFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
USBsdcardFilter.addAction(Intent.ACTION_MEDIA_EJECT);
USBsdcardFilter.addDataScheme("file");
registerReceiver(UsbBroadCastReceiver,USBsdcardFilter);
}
protected void onDestroy() {
if ( null != UsbBroadCastReceiver )
{
unregisterReceiver(UsbBroadCastReceiver);
}
super.onDestroy();
}
}
AndroidManifest.xml部分:
<receiver android:name=".activities.widget.UsbBroadCastReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.MEDIA_EJECT" />
<action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
<data android:scheme="file"/>
</intent-filter>
</receiver>