Android usb 权限广播,android10.0 USB弹窗权限流程解析
USB請求權限流程
1. 新建activity,獲取UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE)
2. 獲取所以的USB設備HashMap map = usbManager.getDeviceList()
3. 過濾別的USB設備,拿到自己USB的USBDevice類,然后請求USB權限,usbManager.requestPermission(usbDevice, pendingIntent);并注冊一個回調意圖,用來判斷用戶是否授予權限
4. UsbManager類的requestPermission方法會調用mService. requestDevicePermission
UsbService是它的實現類,所以最終是調用的UsbService的requestDevicePermission方法
6. 在requestDevicePermission方法里面調用的getSettingsForUser(userId).requestPermission
7. getSettingsForUser(userId)其實是去獲取UsbUserSettingsManager實例,所以是調用的UsbUserSettingsManager的requestPermission方法
8. 在requestPermission方法里面首先會進行判斷是否擁有權限,如果有權限直接回調最開始的意圖廣播,如果沒有也會發生用戶拒絕的廣播,區別是返回值不一樣intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, true);
9. 接著會調用自身的requestPermissionDialog方法,在requestPermissionDialog方法里面又會去調用mUsbPermissionManager.requestPermissionDialog方法
10.最終在UsbPermissionManager類的requestPermissionDialog方法中調用startActivityAsUser 啟動UsbPermissionActivity權限申請對話框
原文:https://www.cnblogs.com/xiaoxiaing/p/12213750.html
總結
以上是生活随笔為你收集整理的Android usb 权限广播,android10.0 USB弹窗权限流程解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 陶氏地板和亚克西哪个好
- 下一篇: 如何清除衣柜里的蟑螂?