Решение intent.getbooleanextra (usbmanager.extra_permission_granted, false) вернуть false на уровне API Api Android 31 иAndroid

Форум для тех, кто программирует под Android
Anonymous
Решение intent.getbooleanextra (usbmanager.extra_permission_granted, false) вернуть false на уровне API Api Android 31 и

Сообщение Anonymous »

Вам нужно использовать явное намерение. < /p>

Код: Выделить всё

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
Intent intent = new Intent(ACTION_USB_PERMISSION);
intent.setPackage(mContext.getPackageName());
mPermissionIntent = PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_MUTABLE);
} else {
mPermissionIntent = PendingIntent.getBroadcast(mContext, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_UPDATE_CURRENT);
}

setpackage (mcontext.getPackageName ()) ограничивает намерение вашего собственного приложения.
Это делает его явным намерением, Поскольку он нацелен на конкретный приемник в одном и том же приложении.
Если setpackage () были удалены, и не было установлено никакого конкретного компонента, система будет искать любой Приложение, которое может обрабатывать action_usb_permission , что делает его неявным.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-false-r

Вернуться в «Android»