1. 程式人生 > >Android插入USB裝置,自動彈出提示執行apk

Android插入USB裝置,自動彈出提示執行apk


USB HOST模式開發下可能會遇到這個問題。

第一步是在AndroidManifest.xml檔案中修改,主意下面紅色字型

<manifest ...><uses-featureandroid:name="android.hardware.usb.host"/><uses-sdkandroid:minSdkVersion="12"/>
    ...
<application><activity ...>
            ...
<intent-filter><action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
/></intent-filter><meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"android:resource="@xml/device_filter"/></activity></application></manifest>

一般呼叫的activity都是Main和Lanunch入口,加入上面的action後,在SDK中以Run As Android Application時,僅執行安裝動作,不會自動呼叫到該Activity了,需要自己點安裝圖示執行apk了,不知道算不算問題。這個不管它了。

接下來還有一個@xml/device_filter需要自己建立,xml資料夾需要在res目錄下,device_filter.xml在xml下。這個名字一致即可,可以自己定義名稱。device_filter.xml的內容如下:

<?xml version="1.0" encoding="utf-8"?><resources><usb-device vendor-id="1234"product-id="5678"class="255"subclass="66"protocol="1"/></resources>

這裡usb-device應該是不能改的關鍵字,後面的引數是用來過濾裝置的,如果你只想檢查某一個裝置,就採用上面的格式,如果是想檢查多個或不限定硬體,可以指定一個甚至一個引數都沒有,然後在程式碼中去列舉裝置,這裡先略過。

指定裝置的話,關鍵是我紅色標記出來的兩個引數,USB裝置都有這兩個屬性,怎麼知道這兩個值呢?在windows中,可以通過裝置管理器的通用序列匯流排控制器找到這個USB裝置(不知道哪個?插拔一下看看吧),然後在屬性-->詳細資訊中選擇硬體ID,在值的區域可以看到USB\VID_AAAA&PID_BBBB。這個AAAA就是vendor-id,BBBB就是product-id,但要注意,你這裡看到的是十六進位制的值,寫入XML中時一定要轉成十進位制才行。

如果是linux系統,在終端命令列輸入lsusb,找到我們需要的裝置(同理,不知道哪個插拔一下,執行兩次lsusb)

[email protected]:~$ lsusb
Bus 001 Device 001: ID AAAA:BBBB ......
其中AAAA就是vendor-id,BBBB就是product-id,同樣這裡也是十六進位制的,注意轉換。

然後,釋出APK,到手機上測試一下吧。

相關推薦

Android插入USB裝置動彈提示執行apk

USB HOST模式開發下可能會遇到這個問題。 第一步是在AndroidManifest.xml檔案中修改,主意下面紅色字型 <manifest ...><uses-featureandroid:name="android.hardware.usb.ho

java實現檔案下載功能動彈儲存視窗

public void download() { String filePath = this.queueService.getCsvFilePathById(id); try { File file = new Fi

Android Edittext 關掉軟鍵盤動彈

  在開發中,遇見了在這樣的需求,開啟一個頁面有一個EditText,進入都還沒載入利索就自動打開了軟鍵盤,不能夠第一眼看到整個頁面的設計,感覺很不友好,需要將軟鍵盤的自動開啟關掉。      法1.網上有個教程是讓EditText失去焦點,程式碼如下,反正

eclipse不能動彈提示的解決辦法

此方法很好用! **一、**只彈出簡單的單詞提示(如輸入system.的時候自動彈出out、in等欄位的那種): 點選eclipse上面的windows--> preferences --> java-->editor --> content assist--&

eclipse不動彈提示(alt+/快捷鍵失效)

     2.此種方法用於打出單詞縮寫沒有提示的情況(例如:打出syso沒有提示):依次開啟eclipse上面的windows ——preferences ——java ——editor —— content assist,在右邊部分偏下的地方找到“Auto activation triggers for

除錯Java專案時老是動彈ThreadpoolExecutor

最近除錯模式啟動專案,時不時就自動彈出ThreadpoolExecutor,真心的很煩 解決辦法:(去掉Suspend execution on uncaught exceptions選項) 最近除

開啟新介面時EditText焦點動彈軟鍵盤

對於一點點空閒時間,看看文章,竟然想起以前的一個問題,趕緊修改起來。 Android新啟動Activity時,dialog或者其他窗體中包含EditText,新啟動的activity的焦點預設在EditText上,這時候安卓系統會自動彈出軟鍵盤。這會導致擠壓activity介

Android N及以上版本應用安裝包下載完成動彈安裝介面的適配方法

Android N及以上版本應用安裝包下載完成自動彈出安裝介面的適配方法   在實現下載和安裝APP功能的時候在Android較高版本可能會遇到如下的問題: 安裝Apk時報錯:android.os.FileUriExposedException: file:///storag

Android DownloadManager下載並動彈安裝(轉載)

1.版本2.3以上 2. <uses-permission android:name="android.permission.INTERNET" />       <uses-permission android:name="android.per

類似智慧購票的demo--進入頁面後預設焦點在第一個輸入框輸入內容、回車、right時焦點自動跳到下一個當跳到select時下拉選項自動彈出,並且可以按上下鍵選擇選擇完成後再跳到下一個。

要實現的效果:進入頁面後預設焦點在第一個輸入框,輸入內容、回車、right時焦點自動跳到下一個,當跳到select時,下拉選項自動彈出,並且可以按上下鍵選擇,選擇完成後再跳到下一個。 PS:自己模擬的一個簡單效果,但仍然存在問題:網上搜了許多,關於select自動彈出的問題

微信進入訊息頁面游標處動彈軟鍵盤設定

<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignP

Android 輸入法鍵盤和activity頁面遮擋和動彈問題解決

本文主要介紹Android中如何解決輸入法鍵盤和activity頁面遮擋的問題。 總結: 不希望遮擋設定activity屬性android:windowSoftInputMode="adjustPan" 希望動態調整高度android:windowSoftInputMod

Android動彈鍵盤

new Thread(new Runnable() { public void run() { InputMethodManager imm

EditText無法輸入內容無法獲得焦點無法動彈鍵盤

我碰到這個問題剛開始是抓狂的,最後知道真相的我已經瘋了。 我出現這個問題的原因是,我的小夥伴在佈局中添加了一句程式碼: android:descendantFocusability="block

android editText動彈軟鍵盤(輸入鍵盤)

有一個介面有如下的需求:有一個textview上面顯示的是400,我點選之後,彈出對話方塊,對話方塊中有一個輸入框,將400傳遞過來也是顯示400,當點選了textview,預設全選400,此時也同時有輸入法彈出來,這樣就是全選,讓使用者可以使用輸入法中的刪除鍵,一下子刪除

Android 讓EditText失去焦點避免動彈輸入法

如果一進去activity,EditText就獲取焦點,彈出輸入法介面,無疑是很影響美觀的。關於讓EditText失去焦點,網上比較多的做法是新增一個visibility=gone的Textview.然後讓這個textView獲取焦點。不知道是我人品不好還是怎麼的。我這樣做

設定進入存在EditText的介面時輸入法不會動彈

一般情況下,在進入有EditText的介面時,EditText會首先獲得焦點,然後輸入法會自動跳出 解決方法一: 在AndroidManifest檔案中給EditText所在的Activity新增這樣一條屬性 android:windowSoftInputMode="st

div今天之內不再動彈(cookie)

round led 存在 expires htm spa edt ready back 利用cookie,讓div今天之內不再自動彈出(類似關閉廣告功能),適用於首頁加載彈框提示。 代碼如下: <!DOCTYPE html> <html lang

Dialog中EditText獲取焦點,並且動彈軟鍵盤

logs dial tde tco ati delay method post text //解決dilaog中EditText無法彈出輸入的問題 dialog.getWindow().clearFlags(WindowManager.Lay

Skype for business 界面動彈打開

skype同事使用是老版本的Skype(Lync)2013 ,因為授權到期,都轉向2016版的了,所以要升級。在官網,下載了安裝包,安裝時候沒有任何問題,但是在使用2016版的時候 ,最小化2016版後,幾秒後又自動彈出,關閉後又自動彈出,如此反復。反復查看配置沒有發現問題,在檢查系統時候突然發現老版本201