最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年04月02日 09:40:18   作者:  
這篇文章主要介紹了Android中查看USB連接的外接設(shè)備信息的代碼實(shí)例,需要的朋友可以參考下

1,USB存儲設(shè)備(如:U盤,移動硬盤):

 //USB存儲設(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è)備的存儲空間使用情況

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

       //對獲取的每行的設(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 這行信息會在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

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

相關(guān)文章

  • Android圖片壓縮的實(shí)例詳解

    Android圖片壓縮的實(shí)例詳解

    這篇文章主要介紹了Android圖片壓縮的實(shí)例詳解的相關(guān)資料,android圖片壓縮主要有兩種方式:壓縮圖片分辨率與壓縮圖片質(zhì)量,需要的朋友可以參考下
    2017-08-08
  • Android打造屬于自己的新聞平臺(客戶端+服務(wù)器)

    Android打造屬于自己的新聞平臺(客戶端+服務(wù)器)

    這篇文章主要為大家詳細(xì)介紹了Android打造屬于自己的新聞平臺的相關(guān)資料,Android實(shí)現(xiàn)新聞客戶端服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android?Spinner和GridView組件的使用示例

    Android?Spinner和GridView組件的使用示例

    Spinner其實(shí)是一個列表選擇框,不過Android的列表選擇框并不需要顯示下拉列表,而是相當(dāng)于彈出一個菜單供用戶選擇,GridView是一個在二維可滾動的網(wǎng)格中展示內(nèi)容的控件。網(wǎng)格中的內(nèi)容通過使用adapter自動插入到布局中
    2022-03-03
  • Android應(yīng)用中使用DOM方式解析XML格式數(shù)據(jù)的基本方法

    Android應(yīng)用中使用DOM方式解析XML格式數(shù)據(jù)的基本方法

    這篇文章主要介紹了Android應(yīng)用中使用DOM方式解析XML格式數(shù)據(jù)的基本方法,值得注意的是DOM方式解析的效率并不高,在數(shù)據(jù)量大的時候并不推薦使用,需要的朋友可以參考下
    2016-04-04
  • Android?Service啟動綁定流程詳解

    Android?Service啟動綁定流程詳解

    這篇文章主要為大家介紹了Android?Service啟動綁定流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android編程中@id和@+id的區(qū)別分析

    Android編程中@id和@+id的區(qū)別分析

    這篇文章主要介紹了Android編程中@id和@+id的區(qū)別,較為詳細(xì)的分析講述了Android中資源引入的原理及使用@id和@+id引入資源的具體用法,總結(jié)了二者的區(qū)別,需要的朋友可以參考下
    2016-01-01
  • Android如何通過手機(jī)自動獲取短信驗(yàn)證碼

    Android如何通過手機(jī)自動獲取短信驗(yàn)證碼

    注冊帳號時,經(jīng)常需要手機(jī)獲取驗(yàn)證碼,Android如何通過手機(jī)自動獲取短信驗(yàn)證碼,下面看看小編給大家分享的一段代碼,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Android使用GridView實(shí)現(xiàn)表格分割線效果

    Android使用GridView實(shí)現(xiàn)表格分割線效果

    這篇文章主要為大家詳細(xì)介紹了Android使用GridView實(shí)現(xiàn)表格分割線效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Android 自定義SurfaceView詳解

    Android 自定義SurfaceView詳解

    本文主要介紹Android SurfaceView自定義方法,這里對SurfaceView的基礎(chǔ)知識做了詳解,并附簡單的示例代碼,以便參考,有需要的小伙伴可以參考下
    2016-08-08
  • Android實(shí)現(xiàn)雙向滑動特效的實(shí)例代碼

    Android實(shí)現(xiàn)雙向滑動特效的實(shí)例代碼

    這篇文章主要介紹了Android實(shí)現(xiàn)雙向滑動特效的實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧
    2018-05-05

最新評論

金阳县| 鄂温| 屏南县| 长武县| 海盐县| 勃利县| 黑山县| 宝清县| 乌拉特中旗| 鄢陵县| 名山县| 翁源县| 雷州市| 新郑市| 洛阳市| 建宁县| 柳河县| 潞城市| 大厂| 香格里拉县| 铁岭市| 科尔| 泸水县| 无锡市| 阿拉尔市| 吉木萨尔县| 永济市| 桃园县| 咸阳市| 庆元县| 泽库县| 兖州市| 新竹市| 乐清市| 紫金县| 卓尼县| 诸暨市| 历史| 柘荣县| 长葛市| 墨脱县|