2016-07-26 165 views
1

我的问题是,我不知道用什么字符串键来检查通知权限。对于关键Android的checkSelfPermission推送通知

"com.google.android.c2dm.permission.RECEIVE" 

这个代码总是返回true,即使我从我的清单中删除的权限:

   int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(), "com.google.android.c2dm.permission.RECEIVE"); 
      if (permissionCheck==PackageManager.PERMISSION_GRANTED) { 
       Log.d("granted","TRUE"); 
      } 

我也尝试过其他的许可串像“mypkg.permission.C2D_MESSAGE”。

如果这是因为系统中的通知权限被认为是“正常”而不是“危险”,那么如何检测用户是否已禁用手机设置中的应用程序通知(如附加图像)?

enter image description here

回答

1

你不需要通知检查权限。

您可以使用支持库的NotificationManagerCompat.areNotificationsEnabled()方法。 您可以在API 19+上使用此API,并且对于下面的API,它始终返回true

+0

NotificationManagerCompat导入正常,但areNotificationsEnabled()表示“无法解析方法”。 – user636066

+0

您需要支持库版本24+。 –

+0

Ahh它实际上是NotificationManagerCompat.from(this).areNotificationsEnabled() - thx – user636066