Android M Preview docs показывает нам, как проверить и запросить разрешения с новой моделью разрешений. В приведенной ниже таблице показано, что группа групп разрешений и связанные с ними разрешения.Android M, запрашивающий разрешения с разрешения_групп
Когда я пытаюсь к 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
, чтобы проверить комбинации необходимых мне прав и запросить их как группу, когда i должен нужно только запросить permission_group
был не осведомлен о контрольном слое на верхней части старых методов api, это хорошо знать. я мог бы просто попробовать и сделать вспомогательную утилиту, которая позволяет людям проходить в группах разрешений и посмотреть, имеет ли это смысл для меня и потенциально другие :) спасибо за ответ cw – trippedout
, но затем, что такое известное использование 'Manifest.permission_group. class'? –
@HendraAnggrian: Например, вы можете использовать его с помощью '' getPermissionGroupInfo() 'on' PackageManager' (https://developer.android.com/reference/android/content/pm/PackageManager.html#getPermissionGroupInfo (java. lang.String,% 20int)). – CommonsWare