当前位置: 首页> 文旅> 酒店 > 定制版app_鹤壁市城乡一体化示范区邮编_建站abc官方网站_网上推广怎么收费

定制版app_鹤壁市城乡一体化示范区邮编_建站abc官方网站_网上推广怎么收费

时间:2025/7/15 21:52:08来源:https://blog.csdn.net/fittec/article/details/144927941 浏览次数:0次
定制版app_鹤壁市城乡一体化示范区邮编_建站abc官方网站_网上推广怎么收费

使用效果:

授权实现过程:

1.在AndroidManifest.xml中增加android.hardware.usb.action.USB_DEVICE_ATTACHED的action及meta-data

action: 

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

meta-data: 

<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter"/>

2.增加USB设备过滤

3.获取USB管理服务:

UsbManager mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);

 4.获取USB设备列表:

HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList();

5.遍历USB设备列表:

for (UsbDevice dev: deviceList.values()){String usbInfo = "DeviceID: "+dev.getDeviceId()+"\n"+"VendorId: "+dev.getVendorId()+"\n"+"ProductId: "+dev.getProductId()+"\n"+"Manufacturer: "+dev.getManufacturerName()+"\n"+"Product: "+dev.getProductName()+"\n"+"Version: "+dev.getVersion()+"\n";tv.setText(usbInfo);System.out.println("==========================");System.out.println(usbInfo);System.out.println("==========================");
}

6.注册USB授权广播:

            //设备授权配置//Android14 API34 及或更高使用 FLAG_IMMUTABLE//Android14 API33 及或更低使用 FLAG_MUTABLEPendingIntent mPermissionIntent = PendingIntent.getBroadcast(this, 0,new Intent(ACTION_USB_PERMISSION),Build.VERSION.SDK_INT>=34? PendingIntent.FLAG_IMMUTABLE:PendingIntent.FLAG_MUTABLE);IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);if (Build.VERSION.SDK_INT>=33){registerReceiver(mUsbReceiver, filter,Context.RECEIVER_EXPORTED);}else{registerReceiver(mUsbReceiver, filter);}

7.实现广播接收器

private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";private final String TAG = "usb_auth_demo";private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {public void onReceive(Context context, Intent intent) {String action = intent.getAction();if (ACTION_USB_PERMISSION.equals(action)){synchronized (this) {UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)){if(device != null){Log.i(TAG,"设备授权成功");Toast.makeText(context,"设备授权成功",Toast.LENGTH_LONG).show();}}else{Log.d(TAG, "设备拒绝授权: " + device);}}}}};

2.请求USB设备权限:

 

mUsbManager.requestPermission(dev, mPermissionIntent);

完整示例源码: 

https://github.com/tonyimax/usb_auth_demo.git

关键字:定制版app_鹤壁市城乡一体化示范区邮编_建站abc官方网站_网上推广怎么收费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: