具有解析推送通知的Android M权限

Tay*_*ney 8 java permissions android push-notification parse-platform

我对新的运行时权限模型仍然有点困惑.Parse推送通知(GCM)的以下任何必需权限是否需要运行时权限?

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

 <permission android:protectionLevel="signature"       android:name="com.parse.starter.permission.C2D_MESSAGE" />

<uses-permission android:name="com.parse.starter.permission.C2D_MESSAGE" />
Run Code Online (Sandbox Code Playgroud)

Can*_*mas 5

在上面列出的权限中,GET_ACCOUNTS需要运行时检查,因为它的保护级别很危险.

但问题是,虽然GCM不再需要GET_ACCOUNTS权限(从7.5 Play服务开始,我猜),如果你使用的是Parse Push Notifications,它仍然需要.

似乎为了让Parse能够提供与各种Android驱动设备的完全兼容性(即非基于GCM的设备,如Kindle Fires,其中GCM不受支持,并且它们必须回归到它们自己的持久套接字实现,当然在4.0.3及以下版本的设备中,Parse仍然需要此权限和其他一些权限.

Parse的一个人提到:

我们要求它被请求,也就是在AndroidManifest.xml中,但不要求它被授予.

问题在讨论中,您可能想看看这些主题:

https://github.com/ParsePlatform/Parse-SDK-Android/issues/129 https://parse.com/questions/android-use-only-gcm-dont-require-additional-permissions


小智 -3

根据Android开发者文档,只要你在manifest中定义了这些权限,系统就会自动授予你这些权限,并且不会允许用户撤销它们。因此,您不需要在运行时检查这些权限。

https://developer.android.com/preview/features/runtime-permissions.html

这在页面底部的“正常权限”部分中有说明。