6
A
回答
1
不是最好的答案,但是一旦你有了一個UsbManager,你也許能夠弄明白。通常這UsbManager使用語境,我相信創造,但它看起來像你切換模式,所以你希望能夠在這種情況下獲得一個UsbManager實例,m
:
UsbManager m = createManagerSomehow
對於輔助模式,這隻有一個回電話。如果這返回一個,那麼你知道它是配件。
m.getAccessoryList()
這樣所以我想服用點可能的工作:
if(m.getAccessoryList().size() > 0)
accessoryMode = true;
而對於主機,如果你有一個UsbDevice device
,或字符串deviceName
你可以使用相同的UsbManager m
功能看看它是否包含該設備。
if(m.getDeviceList().containsValue(device))
hostMode = true;
或
if(m.getDeviceList().containsKey(deviceName))
hostMode = true;
,我不知道什麼是Device
,但如果沒有上述爲真,那麼你知道它只是一個設備。你不需要下面這個布爾變量,因爲你有另外兩個布爾變量。它只是在這裏幫助我通過狀態邏輯進行解釋。
if(!hostMode && !accessoryMode)
deviceMode = true
希望這會有所幫助。查看UsbManager以獲取更多文檔,並只搜索主機和附件的頁面。
http://developer.android.com/reference/android/hardware/usb/UsbManager.html
注:我有點困惑,當你說你切換模式,在您的評論。它與上面所做的附件調用衝突,可能無法正常工作,但我會做什麼(如果您不需要),那麼只需檢查USB設備是否爲HOST模式,如果不是,則知道它處於應用模式...
相關問題
- 1. Angular.js:是否有可能以編程方式顯示AngularStrap模態?
- 2. 是否可以通過編程方式重命名Outlook類別?
- 3. 如何識別手機是否處於飛行模式 - 以編程方式?
- 4. 是否有可能在android中以編程方式關閉靜音模式?
- 5. 是否有可能通過編程方式在玻璃魚中識別服務器驗證模塊的存在
- 6. 以編程方式識別PDF類型
- 7. 以編程方式識別CMS的URL
- 8. 信內信,模式識別
- 9. 是否有可能以編程方式在Cocoa中打印IKImageBrowserView?
- 10. 是否有可能以編程方式設置Qtip的位置?
- 11. 是否有可能以編程方式更改PieRenderer?
- 12. 是否有可能以編程方式修改ATS設置
- 13. 是否有可能以編程方式填寫Ajax表單?
- 14. 是否有可能以編程方式拋出APPWIDGET_UPDATE的意圖?
- 15. 是否有可能以編程方式添加圖片?
- 16. 是否有可能以編程方式創建Google API KEY?
- 17. 是否有可能以編程方式隱藏停靠圖標
- 18. 是否有可能以編程方式創建BackgroundWorkers?
- 19. 是否有可能以編程方式更改FLV的幀頻?
- 20. 是否有可能以編程方式升級Android固件?
- 21. 是否有可能以編程方式觸發onbeforeunload事件?
- 22. 是否有可能以編程方式抑制MessageBoxes?
- 23. 以編程方式暫停mpmovieplayercontroller - 是否有可能?
- 24. 是否有可能以編程方式阻止Windows關閉?
- 25. 是否有可能以編程方式設置MasterType?
- 26. 是否有可能以編程方式運行InstrumentationTestRunner?
- 27. iPhone:是否有可能以編程方式製作視頻
- 28. 是否有可能以編程方式指定<uses-permission>?
- 29. 是否有可能以編程方式運行.scf文件
- 30. Axapta:是否有可能以編程方式移動AOT節點?
你的意思是設備的USB工作模式? – Aify
@Aify,是的。我有一種情況,Android可以改變USB工作模式,我需要識別它。 – Machado