2012-07-12 91 views
4

如果用戶將USB電纜連接到設備,是否有可能啓動我的android應用程序?我正在通過這個link。我在正確的道路上嗎?連接USB電纜後自動啓動我的android應用程序。

+0

你想運行在設備上的應用程序? USB調試? – 2012-07-12 04:41:43

+0

你要使用哪個android版本? – Lucifer 2012-07-12 04:44:13

+0

我正試圖在設備中運行應用程序。我的目標版本是14. – Kamalone 2012-07-12 04:45:23

回答

9

在清單註冊ACTION_POWER_CONNECTED的接收機:

<receiver android:name=".OnPowerReceiver"> 
     <intent-filter> 
       <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> 
     </intent-filter> 
</receiver> 

和代碼的一部分

public class OnPowerReceiver extends BroadcastReceiver { 

@Override 
    public void onReceive(Context context, Intent intent) { 
     Intent i = new Intent(context, Your_Activity.class); 
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(i); 
    } 
} 
+0

android.intent.action.POWER_CONNECTED它是正確的嗎? – Kamalone 2012-07-12 04:54:31

+0

是的,我認爲這是正確的接收USB電纜插件或插件狀態,但如果您有任何問題,那麼你可以去USB_DEVICE_ATTACHED – 2012-07-12 04:58:12

+0

<動作android:name =「android.intent.action.POWER_CONNECTED」/> 我已經使用了這兩個動作。它不工作,但我可以通過其他操作啓動我的應用程序,如。所以這不是代碼的問題,而是我正在使用的操作。 – Kamalone 2012-07-12 06:07:47

4

是的,你可以做到這一點,你需要編寫BroadcastReceiver,當USB端口發生任何事件(插件或插件)時,它將被觸發。

<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> 

當發生這種情況時,只需發動一個意圖開始您的活動。

+0

我已經使用了這兩個動作。它不工作,但我可以通過其他操作啓動我的應用程序,如。所以它不是代碼的問題,但我正在使用的動作 – Kamalone 2012-07-12 06:08:17

相關問題