运行时推送通知(GCM)权限?

时间:2016-05-18 08:25:30

标签: android push-notification google-cloud-messaging android-permissions

我已经读过,有必要在运行时向用户询问API 23及更高版本的某些权限。例如:android.permission.ACCESS_FINE_LOCATION。 如果API为23或更高,是否有必要(甚至可能)要求在运行时使用GCM /推送通知的运行时权限?

我已经尝试在运行时使用requestPermissions方法,但是当我将它与任何GCM /推送通知相关的权限一起使用时,它似乎不起作用(没有任何反应)。

为此我在Manifest中拥有以下权限:

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

用户知道的唯一权限是从Play商店下载应用时的ACCESS_FINE_LOCATION。用户不应该选择是否允许推送通知?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:99)

实际上推送通知权限位于正常类别权限,例如INTERNET权限,而不是危险类别权限

必须要求推送通知权限。

虽然联系人/位置是危险权限,因为您正在访问用户数据。所以总是需要让用户允许它。

希望你明白。 https://developer.android.com/guide/topics/security/permissions.html