麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 系統(tǒng) > Android > 正文

Android中查看USB連接的外接設(shè)備信息的代碼實(shí)例

2020-04-11 11:51:43
字體:
供稿:網(wǎng)友

1,USB存儲(chǔ)設(shè)備(如:U盤,移動(dòng)硬盤):

 //USB存儲(chǔ)設(shè)備 插拔監(jiān)聽與 SD卡插拔監(jiān)聽一致。

復(fù)制代碼 代碼如下:

 private USBBroadCastReceiver mBroadcastReceiver;

     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);

private class USBBroadCastReceiver extends BroadcastReceiver {
      @Override
      public void onReceive(Context context, Intent intent) {
       String action = intent.getAction();

       if (action.equals(Intent.ACTION_MEDIA_EJECT)) {

          //USB設(shè)備移除,更新UI    
       } else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

          //USB設(shè)備掛載,更新UI
        }
      }
 }

  //獲得掛載的USB設(shè)備的存儲(chǔ)空間使用情況

public static String getUSBStorage(Context context){
      // USB Storage 

      //storage/udisk為USB設(shè)備在Android設(shè)備上的掛載路徑.不同廠商的Android設(shè)備路徑不同。

      //這樣寫同樣適合于SD卡掛載。
      File path = new File("/storage/udisk");

      StatFs stat = new StatFs(path.getPath());
      long blockSize = stat.getBlockSize();
      long totalBlocks = stat.getBlockCount();
      long availableBlocks = stat.getAvailableBlocks();
      String usedSize = Formatter.formatFileSize(context, (totalBlocks-availableBlocks) * blockSize);
      String availableSize = Formatter.formatFileSize(context, availableBlocks * blockSize);
      return usedSize + " / " + availableSize;//空間:已使用/可用的
 }


2,USB外接輸入設(shè)備(如:鍵盤,鼠標(biāo),掃描槍)
復(fù)制代碼 代碼如下:

try {

     //獲得外接USB輸入設(shè)備的信息
     Process p=Runtime.getRuntime().exec("cat /proc/bus/input/devices");
     BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
     String line = null;
     while((line = in.readLine())!= null){
       String deviceInfo = line.trim();

       //對(duì)獲取的每行的設(shè)備信息進(jìn)行過濾,獲得自己想要的。

     }  

    } catch (Exception e) {
  // TODO: handle exception
     e.printStackTrace();
    }


另:設(shè)備信息也可以通過 adb shell 進(jìn)入執(zhí)行  cat /proc/bus/input/devices看到。

USB外接輸入設(shè)備信息打印如下:

復(fù)制代碼 代碼如下:

I: Bus=0003 Vendor=11c0 Product=0030 Version=0110
N: Name="ACRUX USB Keyboard"
P: Phys=usb-0000:00:04.0-1.3/input1
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input3
U: Uniq=
H: Handlers=mouse1 event3
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=11c0 Product=0030 Version=0110 這行信息會(huì)在Android設(shè)備與USB設(shè)備數(shù)據(jù)交互的是否使用到。

關(guān)于USB外接設(shè)備如何與Android設(shè)備數(shù)據(jù)數(shù)據(jù)交互的代碼書寫可以參考:

http://developer.android.com/guide/topics/connectivity/usb/index.html

N: Name="ACRUX USB Keyboard" 這行說明了外接的USB設(shè)備的名稱。

P: Phys=usb-0000:00:04.0-1.3/input1

S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input3

這兩行可用于識(shí)別該USB設(shè)備連接在Android設(shè)備的哪一個(gè)USB口.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 9797色| www.99re14.com| 精品久久久久久久久久久久久 | 精品国产一区在线观看 | 最新中文字幕日本 | 日韩大片在线永久观看视频网站免费 | 91短视频在线观看视频 | 国产精品成人亚洲一区二区 | 亚洲精品午夜国产va久久成人 | 亚洲成人在线免费 | 欧美亚洲国产成人综合在线 | 在线成人免费网站 | 久久千人斩| 视频一区二区三区视频 | 成人毛片免费播放 | 精品一区二区三区在线播放 | 羞羞视频入口 | 久久亚色 | 国产91丝袜在线熟 | 成年人在线视频免费 | 日本在线不卡一区二区 | 精品一区二区三区网站 | 国产免费最爽的乱淫视频a 毛片国产 | 91精品国产日韩91久久久久久360 | 亚洲精品一区二区三区大胸 | 亚洲精品午夜国产va久久成人 | 国产免费成人 | 久久国产一级 | 国产成人av免费 | 日本一区二区久久 | 毛片大全免费 | 毛片在线播放视频 | 久久噜噜噜精品国产亚洲综合 | 香蕉久久久精品 | 成人一区三区 | 国产高清成人久久 | 久久精品欧美电影 | 久久我不卡 | 国产精品啪一品二区三区粉嫩 | 久久国产精品久久精品国产演员表 | 免费黄色大片网站 |