通知出现在通知列表中,但不会在主屏幕上弹出



我正在分享两张图片,请看一看,你会理解我的问题

在拳头图像通知成功来了,显示更好的我通知,但我希望它首先出现在主屏幕上,如第二张图片所示,只是这个电报通知。

public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
//        r.play();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
r.setLooping(false);
}
// vibration
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
long[] pattern = {100, 300, 300, 300};
v.vibrate(pattern, -1);
int resourceImage = getResources().getIdentifier(remoteMessage.getNotification().getIcon(), "drawable", getPackageName());
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "CHANNEL_ID");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder.setSmallIcon(R.mipmap.betterme);
} else {
builder.setSmallIcon(R.mipmap.betterme);
}
Intent resultIntent = new Intent(this, SplashScreen.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentTitle(remoteMessage.getNotification().getTitle());
builder.setContentText(remoteMessage.getNotification().getBody());
builder.setContentIntent(pendingIntent);
builder.setStyle(new NotificationCompat.BigTextStyle().bigText(remoteMessage.getNotification().getBody()));
builder.setAutoCancel(true);
builder.setOngoing(true);
builder.setPriority(NotificationCompat.PRIORITY_MAX);
builder.setSound(notification);
mNotificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String channelId = "Your_channel_id";
NotificationChannel channel = new NotificationChannel(
channelId,
"Channel human readable title",
NotificationManager.IMPORTANCE_HIGH);
AudioAttributes audioAttributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build();
channel.setSound(notification, audioAttributes);
mNotificationManager.createNotificationChannel(channel);
builder.setChannelId(channelId);
}
mNotificationManager.notify(100, builder.build());
}
}

第一图像

第二图像

如果我理解正确,您希望收到提醒通知。

请注意,android系统决定何时将通知作为提醒通知,并拥有最终发言权,而不是开发人员。在这里,你可以找到一些这样做的例子:https://developer.android.com/guide/topics/ui/notifiers/notifications#Heads-上行

确保您的设置反映了这些。从您的示例来看,情况似乎是这样,但可能您更改了通知通道设置(从应用程序设置(,这会覆盖您的代码偏好(用户优先于应用程序(。

此外,请注意,如果你向上(而不是横向(滑动抬头通知,Android会开始一段冷静期,在几秒钟(或更长时间(内不会出现来自该应用程序的抬头通知。你也可以在Telegram或任何其他应用程序上尝试一下。冷却时间过后,它会像提醒通知一样再次出现。这是安卓用来防止应用程序惹恼用户的一种方式。

通知中似乎没有问题。但是您的频道已经使用正常通知创建,并且您更新到NotificationChannel的IMPORTANCE_HIGH

CCD_ 2。因此,您可以更改通道id,也可以卸载、重新安装并测试它。

相关内容

  • 没有找到相关文章

最新更新