2012-07-12 88 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

相关问题