Разрешения Android M: запутано при использовании функции shouldShowRequestPermissionRationale ()

Я просматривал официальный документ о новой модели разрешений в Android M. В ней рассказывается о функции shouldShowRequestPermissionRationale(), которая возвращает true, если приложение запросило это разрешение ранее, а пользователь отклонил запрос. Если пользователь отклонил запрос на разрешение в прошлом и выбрал опцию «Больше не спрашивать», этот метод возвращает false.

Но как мы можем различать следующие два случая?

Случай 1 : приложение не имеет разрешения, и у пользователя не было запрошено разрешение до. В этом случае shouldShowRequestPermissionRationale () вернет false, потому что это первый раз, когда мы спрашиваем пользователя.

Случай 2 : пользователь отказал в разрешении и выбрал «Больше не спрашивать», в этом случае также shouldShowRequestPermissionRationale () вернет false.

Я хотел бы отправить пользователя на страницу настроек приложения в случае 2. Как мне провести различие между этими двумя случаями?

137
задан akshayt23 2 September 2015 в 07:54
поделиться