當前位置:首頁 » 安卓系統 » android檢測usb設備

android檢測usb設備

發布時間: 2023-02-11 08:44:44

Ⅰ android4.2.2 查找USB設備

4.2隱藏了~1、找到「設置」圖標,進入~ 2、點擊「關於手機」 3、拉到屏幕最下方,找到「版本號」,猛擊5-7下(有時只要點擊一下就行) 4、猛擊過後,如果出現「您現在處於開發者模式」,說明您猛擊成功;如果沒有,請繼續猛擊,直至出現為止 5、再回到「設置」頁面,您就可以找到「{}開發者選項」了!(大約是隱藏彩蛋神馬的吧,咳咳……)

Ⅱ 如何檢測,如果Android有完整的USB支持或不

1.如果只是手機的USB硬體是OTG,支持USB Host
但是手機中android系統是低於3.1版本,或者裡面沒有對應的USB驅動的
則都無法使用USB Host功能,都無法外接USB 鍵盤之類的USB設備。
2.本身手機的USB硬體就不是OTG的,就不支持USB Host
即使你手機中Android版本再高,比如是4.1,那也是白搭,也沒法用USB Host的。
3.只有當你的手機本身的USB硬體是OTG的,且Android系統是3.1版本之上的,且系統的固件(ROM鏡像)裡面是有對應的驅動的,才能真正使用上USB Host。
4.Android中,USB方面,分兩種模式:USB accessory== USB Device == Android手機作為一個Device設備;把手機連到電腦上,電腦就是Host,手機就是Device,手機就是類似於U盤,可以從主機電腦中操作U盤,拷貝U盤資料了.此種模式,可以說所有手機都支持,就像都可以當做一個U盤接到電腦上一樣;USB host == Android手機作為一個Host主機.Android手機就是主控制器,可以外接/外掛,USB滑鼠,USB鍵盤,U盤,USB攝像頭,游戲手柄等被控制的設備.此種USB Host模式,需要軟硬體都支持才能工作:硬體:確保手機本身的USB模塊是OTG的,即USB的硬體是那種,既可以被配置為Device的,也可以被配置為Host的.與此相對應的是,有些USB的硬體模塊,是固定的USB Device,或者是USB Host.比如普通的U盤中的USB模塊,就是固定的USB Device.比如你把U盤接到電腦上的那個USB介面,就是主板上的USB Host的介面,可以掛載你的U盤.與此類似的是,有些數碼相機,就是USB OTG的.即可以當做U盤接到電腦上,電腦上就可以把相機裡面照片拷貝出來了.也可以當做USB 主機,連接USB的列印機,把照片傳輸到列印機上,列印出來.軟體Android系統,必須是Android 3.1(API Level 12).本身手機常見給你預裝的Android系統,本身是有對應的USB(OTG)的驅動.

Ⅲ 如何查看USB方式連接Android設備的外接設備信息

這里主要介紹了Android中查看USB連接的外接設備信息的代碼實例,可以參考下

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

//USB存儲設備 插拔監聽與 SD卡插拔監聽一致。

代碼如下:

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設備移除,更新UI
} else if
(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

//USB設備掛載,更新UI
}
}
}

//獲得掛載的USB設備的存儲空間使用情況

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

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

//這樣寫同樣適合於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外接輸入設備(如:鍵盤,滑鼠,掃描槍)

復制代碼
代碼如下:

try {

//獲得外接USB輸入設備的信息
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();

//對獲取的每行的設備信息進行過濾,獲得自己想要的。

}

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

另:設備信息也可以通過 adb
shell 進入執行 cat /proc/bus/input/devices看到。

USB外接輸入設備信息列印如下:

復制代碼
代碼如下:

I: Bus=0003 Vendor=11c0 Proct=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
Proct=0030 Version=0110 這行信息會在Android設備與USB設備數據交互的是否使用到。

關於USB外接設備如何與Android設備數據數據交互的代碼書寫可以參考:

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

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

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設備連接在Android設備的哪一個USB口.

Ⅳ android如何監聽有沒有插入usb線

代碼如下:

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設備移除,更新UI
} else if
(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

//USB設備掛載,更新UI
}
}
}

熱點內容
外貼演算法 發布:2025-05-17 16:13:34 瀏覽:387
多出口ip伺服器 發布:2025-05-17 16:04:50 瀏覽:659
雙指針演算法 發布:2025-05-17 16:04:04 瀏覽:703
媒體采訪問答 發布:2025-05-17 15:59:44 瀏覽:690
androidstudiojni 發布:2025-05-17 15:59:42 瀏覽:165
唱吧上傳伴奏歌詞 發布:2025-05-17 15:53:29 瀏覽:862
5g伺服器怎麼填寫 發布:2025-05-17 15:49:39 瀏覽:314
c語言二級操作題 發布:2025-05-17 15:48:45 瀏覽:376
手機錄音機在哪個文件夾 發布:2025-05-17 15:43:37 瀏覽:49
我的世界手機版伺服器如何給管理 發布:2025-05-17 15:34:06 瀏覽:831