Android M Preview docs показывает нам, как проверять и запрашивать разрешения с новой моделью разрешений. В приведенной ниже таблице показано, что группа групп разрешений и связанные с ними разрешения.
Когда я пытаюсь checkSelfPermission с permission_group (т.е. Manifest.permission_group.CAMERA) при первом запуске, предсказуемо получаю PackageManager.PERMISSION_DENIED.
Затем попробуйте requestPermissions для этого же permission_group, и я не получу всплывающее диалоговое окно. 'onRequestPermissionsResult' немедленно возвращается с -1.
Когда я пытаюсь выполнить одну и ту же последовательность с Manifest.permission.Camera - все выглядит нормально. Но для простого приложения, которое я создаю, мне нужно записывать видео со звуком и запрашивать два отдельных разрешения, CAMERA и MICROPHONE (aka RECORD_AUDIO) кажется плохим дизайном.
Вопрос: есть ли checkSelfPermission и requestPermission, которые должны работать с Manifest.permission.* и Manifest.permission_group.*, но есть ошибка, которую я должен указать, так как она не будет отображать запрос? Или это преднамеренный дизайн?
* Примечание. Я понимаю, что я могу создать массив строк requestPermissions(String[], int) с несколькими разрешениями в нем сам, но у id все еще есть множество операторов if, чтобы проверить комбинации необходимых мне прав и запросить их как группу, когда мне нужно только запросить permission_group