【问题标题】:Issue with getting USB device permission from BroadcastReceiver?从 BroadcastReceiver 获得 USB 设备许可的问题?
【发布时间】:2022-10-19 16:25:25
【问题描述】:

我正在使用下面的代码在检测到它时从用户那里获取 USB 访问权限,但它从未在 android 11 中被检测到。任何帮助将不胜感激

public final String ACTION_USB_PERMISSION = "com.domain.ftd.USB_PERMISSION";

private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 
        @Override
        public void onReceive(Context context, Intent intent) {


            if (intent.getAction().equals(ACTION_USB_PERMISSION)) {
                boolean granted = intent.getExtras().getBoolean(UsbManager.EXTRA_PERMISSION_GRANTED);
                Log.e("usb started","really");
                if (granted) {
                     //DO SOMETHING 
                }
         }

     @Override
        protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             usbManager = (UsbManager) getSystemService(this.USB_SERVICE);
            IntentFilter filter = new IntentFilter();
            filter.addAction(ACTION_USB_PERMISSION);
            filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
            filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
            registerReceiver(broadcastReceiver, filter);
    
    
    
    
        }
                        

     
    

【问题讨论】:

    标签: java broadcastreceiver android-usb


    【解决方案1】:

    您需要调用 requestPermission() 方法来显示一个对话框,询问用户是否允许连接到设备, 请参考official doc 并搜索关键字“requestPermission()”

    【讨论】:

      猜你喜欢
      • 2014-10-12
      • 2021-03-04
      • 2013-02-16
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 2014-04-18
      • 1970-01-01
      相关资源
      最近更新 更多