计划通知在版本 8 和 9 的某些 android 设备上不起作用



通知在版本 8 的某些真实 android 设备上不起作用,并且 9 即使启用了通知设置,但工作正常 仿真。IM 调度警报管理器以触发通知 使用广播接收器的时间,其中通知是 生成。

private void generateNotification(Context context, String message) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
createNotificationChannel(notificationManager);
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.notification_main);
view.setImageViewResource(R.id.ImageView1, R.drawable.tenkey_icon);
view.setTextViewText(R.id.title1, Utils.NOTIFICATION_TITLE);
view.setTextViewText(R.id.message1, message);
view.setTextViewText(R.id.time1, notificationTiming);
Intent notificationIntent = new Intent(context, MainActivity.class);
notificationIntent.putExtra("content", message);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Notification.Builder builder=new Notification.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setOngoing(true)
.setContentIntent(PendingIntent.getActivity(context, 0, notificationIntent, 0))
.setContent(view);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
builder.setChannelId(CHANNEL_ID);
}
Notification notification = builder.build();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify((int)System.currentTimeMillis() % 1000000, notification);
}

private void createNotificationChannel(NotificationManager manager) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel serviceChannel = new NotificationChannel(
CHANNEL_ID,
"Shankaram",
NotificationManager.IMPORTANCE_DEFAULT
);
manager.createNotificationChannel(serviceChannel);
}
}

就像在模拟器中一样,它工作正常,我没有所有真正的设备 测试和调试 im 卡在这一点上。任何事情都应该处理 安卓派上的警报管理器?请建议

在 Android 8 及更高版本中,您必须使用通知通道

从 Android 8.0(API 级别 26(开始,必须将所有通知分配给一个频道,否则该频道将不会显示。通过将通知分类为通道,用户可以禁用应用的特定通知通道(而不是禁用所有通知(,用户可以控制每个通道的视觉和听觉选项 - 所有这些都来自 Android 系统设置(图 11(。用户还可以长按通知以更改关联频道的行为。

我已经通过深入检查所有通知解决了这个问题 手机中的设置并启用所有设置,最后 工作。未进行任何代码更改。

相关内容

  • 没有找到相关文章

最新更新