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)
在上面列出的权限中,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
这在页面底部的“正常权限”部分中有说明。