11. android通知栏8.0系统报错误:

 

NotificationService: No Channel found for pkg=xxx.xxx.xxx, channelId=12345, id=12345, tag=null, opPkg=xxx.xxx.xxx, callingUid=10085, userId=0, incomingUserId=0, notificationUid=10085, notification=Notification…

/**
* Notification:8.0系统和8.0系统之下的逻辑
*/
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
public void postNotification(Context context) {
int channelId = 0x22222;
Notification.Builder builder;
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
//NotificationManagerCompat managerCompat= (NotificationManagerCompat) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {//8.0系统之上
NotificationChannel channel = new NotificationChannel(String.valueOf(channelId), "chanel_name", NotificationManager.IMPORTANCE_HIGH);
manager.createNotificationChannel(channel);
builder = new Notification.Builder(context, String.valueOf(channelId));
//或者
//builder = new Notification.Builder(context);
//builder.setChannelId(String.valueOf(channelId)); //创建通知时指定channelId
} else {
builder = new Notification.Builder(context);
}
//需要跳转指定的页面
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);

builder.setTicker("new message")
.setSmallIcon(R.drawable.ic_launcher_background)
.setContentTitle("标题")
.setContentText("内容")
.setContentIntent(pendingIntent);
manager.notify(channelId, builder.build());
}

pasting

 

相关文章:

  • 2021-12-10
  • 2022-02-16
  • 2022-12-23
  • 2021-09-11
  • 2021-10-07
  • 2022-02-16
猜你喜欢
  • 2021-10-01
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-13
相关资源
相似解决方案