安卓通知管理器兼容类NotificationManagerCompat.areNotificationsEnabled无法正常工作

9
NotificationManagerCompat.areNotificationsEnabled() 如何工作?我试图做以下的操作 appPushEnabled = String.valueOf(NotificationManagerCompat.areNotificationsEnabled());,但是它给了我一个错误?
此外,它说它只适用于某些设备,我需要在它上面使用 try catch 吗?

好的,目前文档和已发布的源代码都有所欠缺,但我想它不是“静态的”,如果你的意思是“给我一个错误”。你需要在实例上调用它,你可以使用static from(Context)方法获取它。除此之外,据我所知,对于任何API<19,它都会无条件地返回true,但在API>19以上,应该按预期工作。 - Mike M.
1
发布它抛出的错误。 - Juan Cruz Soler
什么是错误? - petey
我并没有遇到错误,只是无法编译,代码被用红色下划线标出。 - Adam Katz
4个回答

20

经过几个小时的测试,这是我发现的结果。

在应用程序Gradle文件中,com.android.support:support的最小值应该为24,而compileSdkVersion必须是24。

android {    
    compileSdkVersion 24      
}    
dependencies {
     compile 'com.android.support:support-v4:24.0.0'
}

然后 @petey 的回答将会有效。

NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(context);
boolean areNotificationsEnabled = notificationManagerCompat.areNotificationsEnabled();

1
我在MainActivity的onCreate方法中尝试了这个。但是上下文未解决。我在哪里可以获取上下文? - UniSound Waterloo
@UniSoundWaterloo,如果您在Activity中实现了该方法,可以将其更改为“this”。 - sasha
如果您正在尝试在侦听器或某个闭合构造函数下使用该方法,则将“this”更改为“YourActivity.this”。@UniSoundWaterloo - exploitr

6

尝试使用 NotificationManagerCompat.from(Context context) 方法获取 NotificationManagerCompat 对象的实例,然后可以调用 areNotificationsEnabled() 方法。

NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(context)
boolean areNotificationsEnabled = notificationManagerCompat.areNotificationsEnabled();
String appPushEnabled = String.valueOf(areNotificationsEnabled);

我仍然遇到错误,无法解析方法areNotificationsEnabled()。 - Adam Katz
它无法编译,在Android Studio中,它被以红色下划线标出,并显示“无法解析方法areNotificationsEnabled”。 - Adam Katz
啊.. 请检查您的依赖项(支持库的版本和 API 目标)。 - petey
V4我如何检查API目标? - Adam Katz

1
你应该按照以下设置gradle
compile "com.android.support:support-v4:24.0.0" 至少。

谢谢,我遇到了如下错误:该支持库不应使用与compileSdkVersion(23)不同的版本(24)如何编辑compileSdkVersion? - Adam Katz

-2

NotificationManager Api

查阅了 API 文档,发现最低 API 级别应为 24。

2
请使用AndroidX,以便其能够与之前的版本兼容。 - Francis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接