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

Android 运行时的推送通知(GCM)权限?,android,push-notification,google-cloud-messaging,android-permissions,Android,Push Notification,Google Cloud Messaging,Android Permissions,我读到有必要在API 23及以上的运行时向用户请求一些权限。例如:android.permission.ACCESS\u FINE\u LOCATION。 如果API为23或更高,是否有必要(甚至可能)请求运行时许可以在运行时使用GCM/push通知 我曾尝试在运行时使用requestPermissions方法,但当我将它与任何与GCM/push通知相关的权限一起使用时,它似乎不起作用(什么都没有发生) 为此,我在清单中拥有以下权限: <uses-permission android:na

我读到有必要在API 23及以上的运行时向用户请求一些权限。例如:
android.permission.ACCESS\u FINE\u LOCATION
。 如果API为23或更高,是否有必要(甚至可能)请求运行时许可以在运行时使用GCM/push通知

我曾尝试在运行时使用
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"/>


用户知道的唯一权限是从Play Store下载应用程序时的
访问\u FINE\u位置
。用户难道不能选择是否允许推送通知吗?

实际上,推送通知权限位于正常类别权限中,就像互联网权限不在危险类别权限中一样

您不必请求推送通知权限

而联系人/位置是危险的权限,因为您正在访问用户数据。因此始终需要请求用户允许

希望你能理解。

@Umer启用推送通知的“普通类别”中的权限名称是什么?如果您具有Internet权限、已连接Internet且GCM配置正确,则可以接收推送通知。这是一种签名权限,而签名权限不是运行时权限系统的一部分。它们是根据签名匹配自动授予的。因此,如果不要求通过提示获得权限,那么提供提示是否仍然有用且用户友好。。。有些在本地如何反应?谢谢你的回答!访问通知策略: