Android USB设备连接在6.0之后不工作(棉花糖)

Android USB设备连接在6.0之后不工作(棉花糖),android,android-6.0-marshmallow,connectivity,usbserial,Android,Android 6.0 Marshmallow,Connectivity,Usbserial,在我的Android项目中,我试图通过USB端口将平板电脑与Arduino设备进行通信,它适用于5.1版API 22:Lollipop,但不适用于6.0版API 23:Marshmallow,因为在这个Android版本中实现的权限更改 我已经将我的目标SDK版本设置为API22,但仍然不起作用 在我的活动中 怎么了?我缺少什么?尝试授予权限 String permission = android.Manifest.permission.YOUR_PERMISSION; private sta

在我的Android项目中,我试图通过USB端口将平板电脑与Arduino设备进行通信,它适用于5.1版API 22:Lollipop,但不适用于6.0版API 23:Marshmallow,因为在这个Android版本中实现的权限更改

我已经将我的目标SDK版本设置为API22,但仍然不起作用

在我的活动中


怎么了?我缺少什么?

尝试授予权限

String permission = android.Manifest.permission.YOUR_PERMISSION;

private static void requestPermission(Activity activity) {

    if (hasPermission(permission)) return;

    ActivityCompat.requestPermissions(activity, new String[]{permission}, REQUEST_CODE);
}

public static boolean hasPermission() {
    return ContextCompat.checkSelfPermission(SupAndroid.appContext, permission) == PERMISSION_GRANTED;
}

等待您的活动的onActivityResult中的回调

最后,无论我请求了多少权限,Arduino ADK last update 2012对于包含6.0以上的Android API版本都不起作用。 我不得不改变策略,让我的Android设备成为主机,Arduino成为配件


问题解决了,但Arduino没有按预期为平板电脑充电。

我正在尝试这样做,但我不知道哪些权限允许我通过USB端口传输和接收数据。最后不是这样,因为我使用Arduino作为主机,因此权限请求应该包含在ADK模块中。不过还是要谢谢你,在Android中请求权限激发了最终的解决方案。
String permission = android.Manifest.permission.YOUR_PERMISSION;

private static void requestPermission(Activity activity) {

    if (hasPermission(permission)) return;

    ActivityCompat.requestPermissions(activity, new String[]{permission}, REQUEST_CODE);
}

public static boolean hasPermission() {
    return ContextCompat.checkSelfPermission(SupAndroid.appContext, permission) == PERMISSION_GRANTED;
}