自Jelly Bean以来,可以为通知设置优先级。这样您甚至可以设置PRIORITY_MIN,这将隐藏状态栏上的通知图标。 我读到了它,它很简单,你只需要使用它:
MyNotification.setPriority(Notification.PRIORITY_MIN);
我的问题是我收到了编译错误: “方法setPriority(int)未定义类型通知”
我的应用程序必须在不同版本的Android中运行,所以,我知道JellyBean下没有这个功能,所以有没有办法包含编译器标签或类似的东西,根据Android版本添加该功能。 我希望你明白我的意思。
答案 0 :(得分:14)
Android将自动处理此问题。无需为特定版本号添加额外标记。当你遇到编译错误时,我已经幸运地遇到了类似我的代码。您希望确保使用NotificationCompat
,并确保同时导入android.support.v4.app.NotificationCompat;
。
int pri = 0;
NotificationCompat.Builder MyNotification = new NotificationCompat.Builder(ctx);
MyNotification.setPriority(pri);
答案 1 :(得分:1)
我只想添加一些改进 @EGHDK 的答案。
int pri = 0;
NotificationCompat.Builder MyNotification = new NotificationCompat.Builder(ctx);
MyNotification.setPriority(pri);
NotificationCompat.Builder MyNotification = new NotificationCompat.Builder(ctx);
MyNotification.setPriority(NotificationCompat.PRIORITY_DEFAULT); // or any priority
更少错误 - 倾向方法。因为我使用Notification.PRIORITY_DEFAULT
而必须为NotificationCompat.PRIORITY_DEFAULT
任何可能出错的事都会出错
答案 2 :(得分:-1)
它不能运行超过26个android API 所以检查条件:
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
val notificationBuilder:Notification.Builder=Notification.Builder(this,CHANNEL_Id)
.setContentText("Big Text Notification")
.setSmallIcon(R.drawable.ic_launcher_background)
.setLargeIcon(ic)
.setStyle(bigTextNotification)
.setContentText("this is Big Text Notification..")
}
else{
.setContentText(" big text")
.setSmallIcon(R.drawable.ic_launcher_background)
.setLargeIcon(ic)
.setStyle(bigText)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
}
您可以使用NotificationCompat.PRIORITY_DEFAULT