获取USB挂载路径
/** * 获取usb挂载路径 * @return */ private String usbMountedPath(){ File file = new File("/proc/mounts"); try(FileInputStream inputStream = new FileInputStream(file); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); BufferedReader bufferedReader = new BufferedReader(inputStreamReader);){ String line ; ArrayList<String > list = new ArrayList<>(); while ((line = bufferedReader.readLine()) != null){ if(line.contains("vfat")){ list.add(line); } } if(list.size() > 0){ line = list.get(list.size() - 1); if(line.contains("vendor/factory")){ return null; } line = "/mnt" + line.split("/mnt")[1]; line = line.split("vfat")[0]; return line; }else { Log.i("yangyu","no ota mounted"); } }catch (Exception e){ e.printStackTrace(); } return null; }
usb状态广播接收
/** * usb状态监听广播接收器 */ private BroadcastReceiver usbReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if("android.hardware.usb.action.USB_DEVICE_ATTACHED".equals(action) || "android.intent.action.MEDIA_MOUNTED".equals(action)){ Log.i("yangyu","usb mounted"); }else if("android.hardware.usb.action.USB_DEVICE_DETACHED".equals(action) || "android.intent.action.MEDIA_EJECT".equals(action)){ Log.i("yangyu","usb unmounted"); } } };
参考
浙公网安备 33010602011771号