簡體   English   中英

注冊應用程序以在USB項目連接到PC時啟動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM