Ситуация
Один из моих фрагментов получает доступ к камере.Поэтому, конечно, мне нужно сначала проверить разрешение в своей деятельности, прежде чем я перенаправлю на него.Если пользователь отказывает в разрешении, которое действие завершает, и перенаправляет его на предыдущее действие, в котором он находился.
Кроме того, я хотел бы показать другой фрагмент при запуске действия и обнаруживает, что в разрешении было постоянно отказано.(Небольшой флажок «Никогда больше не спрашивать» в диалоговом окне разрешений Android)
Проблема
Я не смог найти правильный способ обнаружения, было ли разрешение отклонено только один раз или еслифлажок «Никогда больше не спрашивать» был установлен в последний раз и навсегда отказал в разрешении.
Имейте в виду, что я не хочу знать об этом в обратном вызове onRequestPermissionsResult.Мне нужно знать в onCreate моей Деятельности, если разрешение в настоящее время предоставлено, отказано или постоянно отклонено.
То, что я пытался
ActivityCompat#shouldShowRequestPermissionRationale
, кажется, обнаруживает, имеет ли разрешение разрешениебыло отказано в прошлом или нет.Он также возвращает истину, если ему было отказано только один раз, а не навсегда.
PermissionChecker#checkPermission()
, похоже, не заметил никакой разницы между постоянно и только один раз состоянием отказа в доступе.
Вопрос
Существует ли какой-либо способ обнаружения, разрешено ли разрешение, но все еще можно запросить или если оно постоянно отклонено?