android 4.4上发现采用原来的什么Intent.ACTION_UMS_CONNECTED完全不能够检测到USB让连接状态,
翻看了一下源码,找到一个方法:
private final static String ACTION = "android.hardware.usb.action.USB_STATE";
这个action可以在frameworks层的UsbManager.java文件中发现。
定义广播:
BroadcastReceiver usBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); Toast.makeText(MainActivity.this, "aciton = " + action, Toast.LENGTH_SHORT).show(); if (action.equals(ACTION)) { boolean connected = intent.getExtras().getBoolean("connected"); Toast.makeText(MainActivity.this, "aciton = " + connected, Toast.LENGTH_SHORT).show(); if (connected) { showUSBConntectStatus.setText("USB Connected!"); } else { showUSBConntectStatus.setText("USB DisConnected!"); } } } };
注册广播:
IntentFilter filter = new IntentFilter(); filter.addAction(ACTION); registerReceiver(usBroadcastReceiver, filter);
注意的manifest中设置minSDK:
android:minSdkVersion="12"
在测试的过程中发现,将minSdkVersion设置为8,不能侦测到USB的状态
相关推荐
在Android开发中,监听USB连接状态是一个常见需求,尤其是在涉及到需要与USB设备通信的应用场景中。当USB设备插入或者拔出时,应用程序可能需要执行相应的操作,比如启动服务、弹出提示信息等。为了实现这一功能,...
总的来说,检测Android设备上的USB OTG状态涉及到以下几个步骤:声明USB相关权限,创建BroadcastReceiver监听USB事件,注册和注销Receiver,以及在接收到事件时执行相应操作。通过这些步骤,你的应用就能实现对USB ...
在Android平台上,获取USB扫描枪的数据通常涉及到对设备的USB访问权限、监听设备连接状态以及解析接收到的数据。本文将详细讲解如何在Android系统中实现无界面获取USB扫描枪的数据。 首先,理解USB扫描枪的基本原理...
在Android中,我们可以使用`BroadcastReceiver`来监听USB设备的连接状态变化。创建一个名为`UsbBroadcastReceiver`的广播接收器,重写`onReceive`方法,监听`ACTION_USB_DEVICE_ATTACHED`和`ACTION_USB_DEVICE_...
首先,我们可以利用Android的USB管理API来监听USB设备的连接状态。当USB设备插入或移除时,系统会发送特定的广播意图(Intent)。我们可以注册一个BroadcastReceiver来捕获这些广播,从而得知USB设备的变化。对于USB...
通过这个项目,开发者可以实践如何在Android应用中与USB设备进行交互,包括读取、写入数据以及监听设备状态变化。 总结来说,Android系统提供了通过BroadcastReceiver监听U盘热插拔事件的能力,这是实现U盘插入和...
在Android平台上,开发一款应用程序来实现USB连接打印机的功能是一项技术挑战。`AndroidUSBPrinterDemo`是一个示例项目,专门展示了如何在安卓设备上通过USB接口与打印机进行通信并完成打印任务。这个Demo提供了封装...
USB Tethering属于设备模式的一种应用场景,让电脑可以通过USB连接访问Android设备的网络。 在压缩包中的文件"USBTethering"可能是实现这些功能的相关代码示例、配置文件或日志记录,对于开发和理解USB Tethering的...
Android系统提供`BroadcastReceiver`机制,允许应用监听USB设备插入、拔出等事件,以便在事件发生时执行相应的操作。 11. **实际应用** "UsbHosOTG"可能是一个实现了上述功能的示例项目,它演示了如何在Android...
`UsbDevice`类代表连接到Android设备的USB设备,而`UsbEndpoint`表示设备上的一个I/O端点,用于数据传输。开发者需要根据设备的配置和端点信息来选择合适的数据传输方式。 5. **UsbDeviceConnection和UsbRequest**...
本项目“Android-USB-OTG-Camera”旨在实现一个功能,允许用户通过USB接口连接外部USB摄像头到Android手机上,从而扩展手机的拍摄能力。这个项目不仅提供了源码,而且有详细的参考资料,为开发者提供了一个学习和...
1. **创建BroadcastReceiver**:创建一个BroadcastReceiver来监听USB设备的连接状态。当设备插入时,BroadcastReceiver会接收到ACTION_USB_DEVICE_ATTACHED广播。 2. **请求权限**:在AndroidManifest.xml中声明USB...
9. **USB设备枚举**:设备连接和断开时,系统会发送广播,开发者可以通过注册BroadcastReceiver监听这些事件,实时更新设备状态。 10. **实时性与性能**:USB串行通信的性能取决于设备本身、USB控制器的速度和传输...
这个类会监听USB接入并注册一个`BroadcastReceiver`来接收USB状态变化的广播。 c) 创建`BroadcastReceiver`,在`onReceive()`方法中处理USB连接和断开事件。当设备连接时,启动服务来处理USB通信。 d) 创建一个`...
而在USB设备模式下,Android设备通常作为一个数据源,如通过USB连接到电脑进行数据同步或调试。 “adbmessage.ja”可能与ADB密切相关。ADB是Android开发中的一个强大工具,它通过USB、TCP/IP等方式连接到设备,用于...
7. **事件监听**:实现USB设备插入、拔出等事件的监听,以便在设备状态变化时作出相应。 8. **异步处理**:因为USB操作可能会阻塞主线程,所以通常会在后台线程或者IntentService中处理USB通信。 9. **权限管理**...
2. **Android服务**:一个运行在后台的服务,负责监听USB设备的插入和移除,以及初始化串口Socket通信。 3. **USB HAL**:根据Android的HAL规范编写的本地库,用于与内核USB驱动进行交互。 4. **权限配置**:...
为了实现这个功能,开发者可能使用了BroadcastReceiver来监听USB或蓝牙设备的连接状态变化,一旦设备连接成功,就注册一个InputDeviceListener来捕获扫描枪的输入事件。这些事件通常以键值对的形式发送,其中键代表...