当前位置: 首页 > wzjs >正文

html网站怎么做视频全网络品牌推广

html网站怎么做视频,全网络品牌推广,宁波建设银行网站首页,全国疫情防控政策重大调整在 Android 上枚举 USB 设备除了使用 UsbManager.getDeviceList() 方法外,还有以下几种常见的方式: 1. 使用 USB 设备过滤器(XML 配置) 通过在 AndroidManifest.xml 中配置 USB 设备过滤器,可以让系统自动检测并通知…

在 Android 上枚举 USB 设备除了使用 UsbManager.getDeviceList() 方法外,还有以下几种常见的方式:

1. 使用 USB 设备过滤器(XML 配置)

通过在 AndroidManifest.xml 中配置 USB 设备过滤器,可以让系统自动检测并通知应用匹配的 USB 设备。

步骤:

  1. 创建 USB 设备过滤器 XML 文件(例如 res/xml/usb_device_filter.xml):
  1. <?xml version="1.0" encoding="utf-8"?>
    <resources><usb-device vendor-id="1234" product-id="5678" /> <!-- 指定具体 VID/PID --><!-- 或使用通配符匹配所有设备 --><!-- <usb-device /> -->
    </resources>
    
  2. 在 AndroidManifest.xml 中声明过滤器
  1. <activity android:name=".UsbDeviceActivity"><intent-filter><action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /></intent-filter><meta-dataandroid:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"android:resource="@xml/usb_device_filter" />
    </activity>
    
  2. 在 Activity 中处理 USB 设备连接
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = getIntent();String action = intent.getAction();if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);if (device != null) {// 处理连接的 USB 设备}}
}

2. 使用广播接收器监听 USB 设备插拔事件

通过注册广播接收器,可以实时监听 USB 设备的插入和拔出事件。

示例代码:

// 注册广播接收器
private final BroadcastReceiver usbReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);if (device != null) {// 处理新连接的 USB 设备}} else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);if (device != null) {// 处理断开连接的 USB 设备}}}
};// 注册广播接收器
IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
registerReceiver(usbReceiver, filter);// 记得在 Activity 销毁时取消注册
@Override
protected void onDestroy() {super.onDestroy();unregisterReceiver(usbReceiver);
}

3. 使用 Android USB Host API(API 级别 12+)

通过 USB Host API,可以主动枚举和管理连接的 USB 设备。

示例代码:

UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList();// 遍历设备列表
for (UsbDevice device : deviceList.values()) {Log.d(TAG, "Device: " + device.getProductId() + ", VID: " + device.getVendorId());// 请求设备权限PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_IMMUTABLE);usbManager.requestPermission(device, permissionIntent);
}

4. 使用 USB 设备类过滤

可以根据设备类(如 HID、CDC、MIDI 等)来过滤和枚举特定类型的 USB 设备。

示例代码:

for (UsbDevice device : deviceList.values()) {// 获取设备类int deviceClass = device.getDeviceClass();// 根据设备类过滤(例如,查找 HID 设备)if (deviceClass == UsbConstants.USB_CLASS_HID) {// 处理 HID 设备}
}

5. 使用 USB 设备接口过滤

通过检查设备的接口(Interface)和端点(Endpoint),可以进一步筛选出符合条件的 USB 设备。

示例代码:

for (UsbDevice device : deviceList.values()) {// 遍历设备的所有接口for (int i = 0; i < device.getInterfaceCount(); i++) {UsbInterface usbInterface = device.getInterface(i);// 根据接口类过滤(例如,查找串口设备)if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA) {// 处理 CDC 数据接口}}
}

6. 使用 USB 设备权限管理

在访问 USB 设备前,需要获取用户权限:

private static final String ACTION_USB_PERMISSION = "com.example.USB_PERMISSION";// 请求权限
PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_IMMUTABLE);
usbManager.requestPermission(device, permissionIntent);// 处理权限回调
private final BroadcastReceiver permissionReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if (ACTION_USB_PERMISSION.equals(action)) {synchronized (this) {UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {if (device != null) {// 权限已授予,可以访问设备}} else {Log.e(TAG, "USB 权限被拒绝");}}}}
};

总结

以上方法各有适用场景:

  • XML 过滤器:适合静态匹配特定 VID/PID 的设备。
  • 广播接收器:适合实时监听设备插拔事件。
  • USB Host API:适合主动枚举和管理设备。
  • 设备类 / 接口过滤:适合筛选特定类型的 USB 设备。

实际开发中,通常需要结合多种方法来实现完整的 USB 设备管理功能。

http://www.dtcms.com/wzjs/3523.html

相关文章:

  • 网站建设框架都有哪些内容百度快照如何优化
  • 恋月wordpressseo排名点击工具
  • 宣传制作清单及价格广东培训seo
  • 怎么做外国网站流量软文营销常用的方式是什么
  • 2024最近爆发的流感叫什么病毒seo课程总结怎么写
  • 网页设计与网站建设简答题关键词批量调词 软件
  • 桂林做网站电话号码百度seo技术
  • 青岛免费网站建设足球最新世界排名表
  • 企业网站建设的必要性广东疫情最新情况
  • 大学生做兼职上什么网站好2019网站seo
  • 重庆电商网站建设合肥百度推广优化
  • 北京外贸网站制作公司企业网站搜索引擎推广方法
  • 优秀网站介绍免费注册网址
  • 做水军那些网站好网络营销课程作业
  • 做自己头像的网站外链seo推广
  • 网页后端开发台州seo服务
  • 东营网站建设怎么建设最权威的排行榜网站
  • 静态网页设计作业成品成都网站seo报价
  • 网站设计师要求深圳百度seo代理
  • 有个蓝色章鱼做标志的网站外贸推广
  • 怎么做自己的门户网站软文通
  • 北京网页模板建站百度指数官网查询入口
  • 微信网站建设报价表百度一下你就知道首页
  • 电商网站 性能目标有哪些网络软文广告
  • 网站改版 优化全媒体广告代理加盟靠谱吗
  • 怎么用htlm5自己做网站苏州整站优化
  • 网站建设和开发谷歌搜索引擎seo
  • 建筑网片的用途有哪些seo优化中商品权重主要由什么决定
  • 福建省亿力电力建设有限公司网站百度指数只能查90天吗
  • 个体户能做网站备案吗企业培训心得