Android 通知未显示为消息
Android notification is not showing as a message
它自己的通知工作正常,但不是我想要的。它会振动并显示已定义但未作为 Watsapp 通知的图标,在 setCategory
我放了 CATEGORY_MESSAGE
但仍然没有!
在我的应用程序上 class 我输入:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
NotificationChannel channel = new NotificationChannel(CHANNEL_ID,CHANNEL_NAME,NotificationManager.IMPORTANCE_HIGH);
channel.setDescription(CHANNEL_DESC);
channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
NotificationManager manager = getSystemService(NotificationManager.class);
assert manager != null;
manager.createNotificationChannel(channel);
}
片段:
private void T(String message){
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext(),CHANNEL_ID)
.setContentText(message)
.setContentTitle("Test")
.setColor(0xff123456)
.setSmallIcon(R.drawable.com_facebook_button_icon)
.setCategory(CATEGORY_MESSAGE)
.setPriority(PRIORITY_HIGH);
NotificationManagerCompat compat = NotificationManagerCompat.from(getApplicationContext());
compat.notify(1,mBuilder.build());
}
这是我希望它通知的方式:
这是当前通知的方式
我使用的是 SDK 27
在聊天中与 OP 讨论后,这是我对可能发生的事情的最佳解释:
通知渠道只能创建一次,之后它对应用程序来说是不可变的。它只能由用户通过设置进行调整。如果有人首先按照官方文档中的示例进行操作,他们可能会使用 IMPORTANCE_DEFAULT
创建频道。在此之后,即使他们稍后更改代码,频道仍将保持在 'High: Make Sound' 级别,而不是根据需要设置为 'Urgent: Make Sound and pop on screen'。 Docs on importance level
问题中的代码完全没问题,第一次安装时应该创建一个 'Urgent' 级别的频道。在任何情况下,手动卸载应用程序然后再次安装将重新创建频道,将级别设置为最新代码中提到的任何级别。
它自己的通知工作正常,但不是我想要的。它会振动并显示已定义但未作为 Watsapp 通知的图标,在 setCategory
我放了 CATEGORY_MESSAGE
但仍然没有!
在我的应用程序上 class 我输入:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
NotificationChannel channel = new NotificationChannel(CHANNEL_ID,CHANNEL_NAME,NotificationManager.IMPORTANCE_HIGH);
channel.setDescription(CHANNEL_DESC);
channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
NotificationManager manager = getSystemService(NotificationManager.class);
assert manager != null;
manager.createNotificationChannel(channel);
}
片段:
private void T(String message){
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext(),CHANNEL_ID)
.setContentText(message)
.setContentTitle("Test")
.setColor(0xff123456)
.setSmallIcon(R.drawable.com_facebook_button_icon)
.setCategory(CATEGORY_MESSAGE)
.setPriority(PRIORITY_HIGH);
NotificationManagerCompat compat = NotificationManagerCompat.from(getApplicationContext());
compat.notify(1,mBuilder.build());
}
这是我希望它通知的方式:
这是当前通知的方式
我使用的是 SDK 27
在聊天中与 OP 讨论后,这是我对可能发生的事情的最佳解释:
通知渠道只能创建一次,之后它对应用程序来说是不可变的。它只能由用户通过设置进行调整。如果有人首先按照官方文档中的示例进行操作,他们可能会使用 IMPORTANCE_DEFAULT
创建频道。在此之后,即使他们稍后更改代码,频道仍将保持在 'High: Make Sound' 级别,而不是根据需要设置为 'Urgent: Make Sound and pop on screen'。 Docs on importance level
问题中的代码完全没问题,第一次安装时应该创建一个 'Urgent' 级别的频道。在任何情况下,手动卸载应用程序然后再次安装将重新创建频道,将级别设置为最新代码中提到的任何级别。