当android设备物理连接到特定的usb设备时,我可以启动特定的应用程序吗?

当android设备物理连接到特定的usb设备时,我可以启动特定的应用程序吗?,android,usb,launch,Android,Usb,Launch,当android设备物理连接到特定的usb设备时,我可以“注册”一个(已经安装的)特定的应用程序来启动吗 例如 我连接一个键盘(某个品牌或特殊的USBid/class),它会自动启动一个文本编辑器应用程序 我连接了一个USB声卡,它启动了一个音频应用程序 还有“更好”,Android上有自动启动吗?我将键盘+存储设备插入智能手机,Android会问我是否要从存储设备安装apk(或从预定义的url下载) 显然,出于安全原因,我理解从存储器安装应用程序需要用户确认。但是,一旦应用程序被“注册”,是否

当android设备物理连接到特定的usb设备时,我可以“注册”一个(已经安装的)特定的应用程序来启动吗

例如
我连接一个键盘(某个品牌或特殊的USBid/class),它会自动启动一个文本编辑器应用程序
我连接了一个USB声卡,它启动了一个音频应用程序

还有“更好”,Android上有自动启动吗?我将键盘+存储设备插入智能手机,Android会问我是否要从存储设备安装apk(或从预定义的url下载)
显然,出于安全原因,我理解从存储器安装应用程序需要用户确认。但是,一旦应用程序被“注册”,是否可以在没有确认屏幕的情况下自动启动应用程序


我知道我可以通过android.hardware.USB.usbdevice获取USB信息。我的问题更多的是如何告诉Android在连接usb设备时启动此应用程序而不是另一个应用程序。

我认为你可以注册你的应用程序以接收系统广播,如连接的
usb\u附件
,并在这种情况下启动你的应用程序

检查


谢谢。我想我明白了:在应用程序清单(receiver/intent filter/action部分)中,您注册了要监视的事件。在我的例子中,“android.intent.action.action\u USB\u设备\u已连接”。在我的代码中,我需要实现BroadcastReceiver的一个子类和onReceive(Context,Intent)方法。这将在应用程序的后台进程中运行,并在事件发生时被操作系统唤醒。然后,我必须将我的应用程序的UI放到前台。我需要在BG/UI方面下功夫(以前从未做过Android开发),但至少看起来可以做到。