Разрешение Push-уведомлений (GCM) во время выполнения?
Я прочитал, что необходимо запросить у пользователя некоторые разрешения во время выполнения для API 23 и выше. Например: android.permission.ACCESS_FINE_LOCATION
.
Необходимо ли (или даже возможно) запрашивать разрешение во время выполнения для использования GCM/push-уведомлений во время выполнения, если API равен 23 или выше?
Я пытался использовать метод requestPermissions
во время выполнения, но, похоже, он не работает (ничего не происходит), когда я использую его с любыми разрешениями, связанными с GCM/push-уведомлениями.
Для этого у меня есть следующие разрешения в Манифесте:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
Единственное разрешение, о котором знает пользователь, - это ACCESS_FINE_LOCATION
при загрузке приложения из Play Store. Разве пользователь не должен иметь возможность выбирать, будут ли они разрешать push-уведомления?
Ответы
Ответ 1
На самом деле разрешение Push Notation разрешено в разрешении обычной категории, таком как разрешение INTERNET не в разрешении опасных категорий.
Вам не нужно запрашивать разрешения Push Notification.
В то время как контакты/местоположения являются опасными разрешениями, поскольку вы получаете доступ к пользовательским данным. Всегда нужно просить пользователя разрешить это.
Надеюсь, ты понимаешь. https://developer.android.com/guide/topics/security/permissions.html