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

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

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

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

为此,我在我的 list 中拥有以下权限:

<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。用户不应该能够选择是否允许推送通知吗?

最佳答案

其实Push Notification权限在Normal Category Permission,就像INTERNET权限不在Dangerous Category Permission

不必请求推送通知权限。

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

希望你能理解。 https://developer.android.com/guide/topics/security/permissions.html

关于android - 在运行时推送通知(GCM)权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294076/

相关文章:

push-notification - Google Drive SDK 推送通知,收到错误的更改 ID

android - 如何检测 GCM "collapsed"消息?

android - 我的设备未收到 Firebase 云消息传递通知

android - 9 fragment 中的补丁图像奇怪行为

android - 使用 HttpClient 的 Android httppost 到 https URL 安全吗?

ios - 通过 postman 发送推送通知 firebase

python - 是否可以在我的 VPS 上运行服务器的情况下从 Google 获取刷新 token ?

ios - 在不使用 cocoapods 的情况下下载适用于 ios 的 gcm

java - Eclipse 找不到 Main_Activity

Android - android.view.InflateException : Binary XML file line #8: Error inflating class fragment