Android初学------系统设置之获取USB设备管理
2015-05-14 18:21
477 查看
//获得挂载的USB设备的存储空间使用情况 public static String[] getUSBStorage(Context context){ // USB Storage String[] str=new String[2]; //mnt/udisk为USB设备在Android设备上的挂载路径.不同厂商的Android设备路径不同。 //这样写同样适合于SD卡挂载。 /mnt/media_rw/udisk or /storage/udisk File path = new File("/mnt/media_rw/udisk"); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); long availableBlocks = stat.getAvailableBlocks(); String totalSize=Formatter.formatFileSize(context, (totalBlocks) * blockSize); // String usedSize = Formatter.formatFileSize(context, (totalBlocks-availableBlocks) * blockSize); String availableSize = Formatter.formatFileSize(context, availableBlocks * blockSize); str[0]=totalSize; str[1]=availableSize; return str;//空间:总共/可用的 }
mIMountService.unmountVolume(usbPath, true, false);
卸载usb设备↑
IMountService 需要编译源码里的class 为jar 才可以使用。。。。mlgb 搞了我好久 传入sd卡路径 也可以卸载sd卡
监听usb设备
@Override protected void onResume() { super.onResume(); //监听usb设备 IntentFilter iFilter = new IntentFilter(); iFilter.addAction(Intent.ACTION_MEDIA_EJECT); iFilter.addAction(Intent.ACTION_MEDIA_MOUNTED); iFilter.addAction(Intent.ACTION_MEDIA_REMOVED); iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); iFilter.addDataScheme("file"); mBroadcastReceiver = new USBBroadCastReceiver(); registerReceiver(mBroadcastReceiver, iFilter); } public class USBBroadCastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_MEDIA_EJECT)) { //USB设备移除,更新UI Toast.makeText(getApplicationContext(), "USB已弹出", 0).show(); updateUSBIsShow(); findUSBDevice=false; } else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) { //USB设备挂载,更新UI findUSBDevice=true; updateUSBIsShow(); }else if (action.equals(Intent.ACTION_MEDIA_REMOVED)){ Toast.makeText(getApplicationContext(), "移除", 0).show(); updateUSBIsShow(); findUSBDevice=false; }else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)){ // Toast.makeText(getApplicationContext(), "未安装", 0).show(); updateUSBIsShow(); findUSBDevice=false; } } } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); //注销广播 unregisterReceiver(mBroadcastReceiver); }
相关文章推荐
- Android下USB设备VID与PID获取及ADB设置
- Android初学------系统设置之获取系统存储容量
- Android初学------系统设置之获取所有安装应用大小
- Android 获取手机系统的声音设置管理通知提醒的声音
- Android 获取手机系统的声音设置管理通知提醒的声音
- android 系统版本信息工具类 获取设备型号 设置屏幕亮度 软键盘 获取屏幕高度宽度
- Android_设备隐私获取,忽略6.0权限管理
- Android获取设备隐私 忽略6.0权限管理
- Android 获取设备和系统信息
- Android framework开发全局系统属性设置与获取
- android系统各种音量的获取与设置
- Android开发之获取系统管理权限,即DevicePolicyManager和DeviceAdminReceiver的使用
- Android 应用利用反射机制获取/设置系统属性值
- Android之获取系统语言和设置APP语言
- Android 设置系统的返回键 和软键盘获取焦点问题
- android获取设备IMEI ,手机名称,系统SDK版本号,系统版本号
- android应用内获取系统权限,来设置一些系统开关
- [转]android系统各种音量的获取与设置
- 【Android】获取设备型号、SDK版本及其系统版本
- 解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限