-5

Google разрешает разрешение во время выполнения и позволяет пользователю разрешать или отклонять разрешение.Android Runtime Marshmallow Разрешение

Когда пользователь устанавливает приложение, разрешения должны автоматически включаться, его не следует запрашивать у пользователя.

Как я могу получить эту функцию?

спасибо.

+4

Если бы вы могли это сделать, на новую модель разрешений не было бы никакой точки. Лучшее, что вы можете сделать, - установить значение «targetSdkVersion» меньше 23. Ваше приложение получит разрешения при установке, но вы не сможете остановить его отменить вручную. –

+1

После того, как пользователь дает разрешение, система андроид не запрашивает его снова и снова, он будет спрашивать только, переустанавливать приложение –

+0

. Вы должны попросить разрешения до тех пор, пока пользователь ** не разрешит ** его, иначе ваша задача будет связана к такому разрешению не будет завершено. Удачи. –

ответ

1

Когда пользователь устанавливает приложение, разрешения должны автоматически включаться, его не следует запрашивать у пользователя.

Имейте targetSdkVersion ниже 23. Это не является жизнеспособным долгосрочным решением, так как в конечном счете то заставит вашу руку, чтобы иметь targetSdkVersion 23 или выше.

Вы цитируете OlaCabs как пример поведения, которое вы хотите. OlaCabs имеет targetSdkVersion из 22.

Как я могу установить разрешение по умолчанию в зефир так, что если пользователь устанавливает с разрешения вручную и еще раз, когда пользователь открывает приложение разрешение должно быть включено и разрешения не должны просить пользователь, он должен быть непосредственно включен.

Это невозможно. Например, с OlaCabs, после установки, но перед запуском, я отменил его права на доступ к контактам, местоположению, телефону, SMS и хранилищу. Затем я запускал OlaCabs, и он разбился, потому что я отозвал его доступ к данным о местоположении, и авторы OlaCabs не проверяют, имеют ли они разрешение сначала. OlaCabs не магически заставляет эти разрешения быть повторно предоставлены.

+0

Я попробовал это, установив targetSdkVersion, но его не работает –

+0

@ArjunShah: Тогда у вас есть еще одна проблема с вашим приложением. Например, возможно, вы устанавливаете 'targetSdkVersion' как в вашем манифесте, так и в' build.gradle' (значение из 'build.gradle' выигрывает). Кроме того, обязательно полностью удалите и переустановите приложение. Процесс сборки должен предупредить вас об этом и сделать это для вас, когда вы опустите «targetSdkVersion». – CommonsWare

2

Невозможно. Если пользователь не разрешает разрешение, то доступ к ресурсу приложения зависит от конкретного разрешения. Это делается Google для обеспечения безопасности.

1

Это невозможно сделать на болотной мельнице, так как оно полностью основано на разрешениях времени выполнения. Оно повышает безопасность пользователей. Ваши запросы поддерживаются только версиями ниже marshmallow. Попробуйте иметь целевую версию как 22 и запустите приложение.

+0

Ola или Uber делают обязательным для вас, например, разрешение на размещение, иначе они не позволят вам сделать запрос. –

+0

Да, это можно сделать, но не может предоставлять разрешения вместо разрешений времени выполнения. – raasesh