Android初学------系统设置之获取USB设备管理

//获得挂载的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);
  	}
	




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值