Разрешение 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