[英]Open USB host communication on a device already connected at the launch of the application
[英]Register application to launch when USB item is connected to PC
我創建了一個Android應用程序,我想在運行Android的USB項目連接到PC時自動打開。
是否可以注冊我的應用程序來處理USB連接? 我怎么做?
您可以使用Intent.ACTION_UMS_CONNECTED
監聽Intent.ACTION_UMS_CONNECTED
(usb大容量存儲模式已啟動)或Intent.ACTION_POWER_CONNECTED
(手機正在充電) BroadcastReceiver
。
請注意,兩者都沒有確切地告訴您已連接到計算機。 當連接普通充電器時,充電廣播也可以被解雇。 USB廣播是一個很好的指示,你在電線的另一端有類似電腦的東西,但不能保證。 用戶也可以直接將手機連接到計算機而無需進入大容量存儲模式。
據我所知 ,沒有任何意圖告訴您確定您已連接到計算機(我可以看到,如果沒有PC上的應用程序,很難檢測到) 。 您可能希望閱讀intent類文檔 ,看看是否可以找到我還沒有看到的廣播。
在您的Manifest.xml中,添加以下內容:
<receiver android:name=".BattStatusShow">
<intent-filter>
<action android:name="android.intent.action.ums_connected" />
</intent-filter>
</receiver>
然后讓您的電池狀態類擴展BroadcastReceiver
,因為您在Manifest文件中注冊了USB消息。
public class BattStatusShow extends BroadcastReceiver{
if (intent.getAction().equalsIgnoreCase( "android.intent.action.UMS_CONNECTED")) {
//do stuff here, like signal the view of your app it needs to do something
}
}
您沒有提供有關您的應用程序的詳細信息,但如果它只是一個電池顯示應用程序,編程PC主機應用程序與您的Android應用程序通信似乎有點過分。 如果您想要做更多,請查看諾基亞PC工作站應用程序如何與諾基亞交互並模擬行為。
即使通過USB連接到PC,您也可以從手機上打開任何應用程序。
請訪問以下鏈接,了解有關檢測USB連接或分離的信息,並注冊相同的廣播接收器,並使用適當的意圖從接收器啟動您的應用程序。
http://developer.android.com/guide/topics/usb/accessory.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.