27

Ich habe gelesen, dass es notwendig ist, den Benutzer um einige Berechtigungen zur Laufzeit für API 23 und höher zu fragen. Zum Beispiel: android.permission.ACCESS_FINE_LOCATION. Ist es erforderlich (oder sogar möglich), eine Runtime-Berechtigung für die Verwendung von GCM/Push-Benachrichtigungen zur Laufzeit anzufordern, wenn die API 23 oder höher ist?Push-Benachrichtigungen (GCM) Erlaubnis zur Laufzeit?

Ich habe versucht, mit der requestPermissions-Methode zur Laufzeit, aber es scheint nicht zu funktionieren (nichts passiert), wenn ich es mit allen GCM/Push-Benachrichtigung bezogenen Berechtigungen verwenden.

Ich habe die folgenden Berechtigungen in meinem Manifest für diesen Zweck:

<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"/> 

Die einzige Berechtigung, die der Benutzer kennt, ist die ACCESS_FINE_LOCATION wenn die App aus Google Play Store herunterladen. Sollte der Benutzer nicht wählen können, ob er Push-Benachrichtigungen zulassen würde?

Jede Hilfe wird sehr geschätzt.

Antwort

64

Tatsächlich ist die Push Notification Erlaubnis liegt in Normalen Kategorie Permission wie INTERNET Erlaubnis nicht in Dangerous Kategorie Permission.

Sie nicht müssen für Push-Benachrichtigung Berechtigungen fragen.

Während Kontakte/Standorte sind die gefährlichen Berechtigungen, weil Sie auf Benutzerdaten zugreifen. So immer erforderlich, um Benutzer zu fragen, um es zu ermöglichen.

Ich hoffe, Sie verstehen. https://developer.android.com/guide/topics/security/permissions.html

+0

Ahh ich sehe. Vielen Dank für Ihre schnelle Antwort. Akzeptieren Sie +1 – Langkiller

+1

@Umer Wie lautet der Name der Berechtigung in der "Normal Kategorie", die Push-Benachrichtigungen aktiviert? – Sergey

+0

Sie können Push-Benachrichtigungen erhalten, wenn Sie Internet-Berechtigungen, Internetverbindung und ordnungsgemäße GCM-Konfiguration haben. – Umer