- 创建接收器
public class USBReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
StorageManager mStorageManager = (StorageManager) context.getSystemService(Activity.STORAGE_SERVICE);
String action = intent.getAction();
Log.d(TAG, "receive broadcast\n"+action);
if(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
String path = intent.getData().getPath();
//path = getCorrectPath(path);//获取正确的,完整的路径
Log.d(TAG, "THE PATH IS:\n"+path);
}
}
}
2. 定义变量
USBReceiver usbBroadcast;
3. 在onCreate 下面注册广播
usbBroadcast = new USBReceiver();
IntentFilter usbFilter= new IntentFilter();
usbFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
usbFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
usbFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
usbFilter.addDataScheme("file");
registerReceiver(usbBroadcast,usbFilter);
4. 程序退出前需要注销广播
参考链接: