我已经读过,有必要在运行时向用户询问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
。用户不应该选择是否允许推送通知?
非常感谢任何帮助。
答案 0 :(得分:99)
实际上推送通知权限位于正常类别权限,例如INTERNET权限,而不是危险类别权限。
您不必须要求推送通知权限。
虽然联系人/位置是危险权限,因为您正在访问用户数据。所以总是需要让用户允许它。
希望你明白。 https://developer.android.com/guide/topics/security/permissions.html