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