<receiver android:name="com.data_packet.RemovableDiskManagerReceiver"> <intent-filter> <action android:name="RemovableDiskManagerReceiver" /> <action android:name="android.intent.action.MEDIA_UNMOUNTED" /> <action android:name="android.intent.action.MEDIA_CHECKING" /> <action android:name="android.intent.action.MEDIA_EJECT" /> <action android:name="android.intent.action.MEDIA_REMOVED" /> <action android:name="android.intent.action.MEDIA_MOUNTED" /> <action android:name="android.intent.action.MEDIA_BAD_REMOVAL" /> <action android:name="android.intent.action.ACTION_MEDIA_SCANNER_STARTED" /> <action android:name="android.intent.action.ACTION_MEDIA_SCANNER_FINISHED" /> <data android:scheme="file" /> </intent-filter> </receiver>
如果是在注册的静态广播一般必须含有以上的权限,这里必须注意添加
<data android:scheme="file" />
如果在代码中注册广播则必须iFilter.addDataScheme("file")
这样接受广播判断U盘
public class RemovableDiskManagerReceiver extends BroadcastReceiver { public RemovableDiskManagerReceiver() { } @Override public void onReceive(Context context, Intent intent) { Log.e("U","接受到广播"); // TODO Auto-generated method stub if( intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED )){ Intent serviceintent=new Intent(context,USBCopySeverice.class); serviceintent.setAction(TAG_SET.USB_INTENT.USB_ADD); context.startService(serviceintent); LogUtils.eLog("U盘工具","U盘插入!"); }else if(intent.getAction().equals(Intent.ACTION_MEDIA_UNMOUNTED) || intent.getAction().equals(Intent.ACTION_MEDIA_REMOVED)){ Intent serviceintent=new Intent(context,USBCopySeverice.class); serviceintent.setAction(TAG_SET.USB_INTENT.USB_OFFLINE); context.startService(serviceintent); LogUtils.eLog("U盘工具","U盘拔出!"); } }; }