华为程序员面试题,【Android开发】Android Host详解(翻译自官方文档,2024年安卓开发进阶课程

while(deviceIterator.hasNext()){

UsbDevice device = deviceIterator.next()

//your code

}

获得使用一个配件的权限


在您使用一个USB设备前,您的应用必须从用户那里获得权限。

* 注意:* 如果您的应用在连接USB设备时通过一个意图过滤器来发现它们,如果用户允许您的应用来处理这个意图,它将自动接收这个权限。如果用户不允许,那么您就必须在连接设备之前详细在您的应用中写明需要请求的权限。

在某些情况下很有必要明确权限的许可要求,例如当您的应用枚举出所有已经连接的USB设备并且您希望和其中的一个进行“交流”。您必须在和该设备“交流”前检查是否有连接该设备的权限。如果不是这样,您的应用将在用户拒绝您连接该设备的权限之后收到个运行错误。

为了确切地获得权限,首先需要创建个广播接收器。这个接收器在您调用requestPermission()这个方法时从您得到的广播中监听这个意图。通过调用requestPermission()这个方法为用户跳出一个是否连接该设备的对话框。下面的例子告诉您如何创建一个广播接收器:

private static final String ACTION_USB_PERMISSION =

“com.android.example.USB_PERMISSION”;

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {

 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public void onReceive(Context context, Intent intent) {
  

String action = intent.getAction();

if (ACTION_USB_PERMISSION.equals(action)) {

    synchronized (this) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值