Android通知将不会显示在设备上
我不明白为什么此通知不会显示在设备上。我正在使用的设备正在运行OS9。任何帮助都会很好Android通知将不会显示在设备上,android,notifications,Android,Notifications,我不明白为什么此通知不会显示在设备上。我正在使用的设备正在运行OS9。任何帮助都会很好 @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); Log.d("TestApp", "Notification Received : " + remoteMessage.getData()); Notific
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Log.d("TestApp", "Notification Received : " + remoteMessage.getData());
NotificationUtils.getInstance(getApplicationContext()).createChannel(NotificationUtils.DEFAULT_CHANNEL);
NotificationCompat.Builder notification = buildBasicNotification(getApplicationContext(), remoteMessage.getFrom(), remoteMessage.getData().get("_msg"), NotificationUtils.DEFAULT_CHANNEL);
displayNotification(notification);
}
public static NotificationCompat.Builder buildBasicNotification(Context context, String title, String msgText, String channelId) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(msgText)
.setSmallIcon(R.drawable.alert_icon)
.setAutoCancel(false);
return builder;
}
private void displayNotification(NotificationCompat.Builder builder) {
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, builder.build());
}
下面是NotificationUtils中的两个重要方法
public static NotificationUtils getInstance(Context context) {
if (instance == null) {
instance = new NotificationUtils(context);
}
return instance;
}
NotificationUtils(Context context) {
super(context);
this.context = context;
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createAlertChannel();
deleteChannel("Miscellaneous");
}
}
我终于明白了
错误就在这个方法的内部
public static NotificationCompat.Builder buildBasicNotification(Context context, String title, String msgText, String channelId) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(msgText)
.setSmallIcon(R.drawable.alert_icon)
.setAutoCancel(false);
return builder;
}
确保NotificationCompat.Builder=newnotificationcompat.Builder(上下文)
接受channelId
所以它应该是NotificationCompat.Builder=newnotificationcompat.Builder(上下文,channelId)
我终于找到了
错误就在这个方法的内部
public static NotificationCompat.Builder buildBasicNotification(Context context, String title, String msgText, String channelId) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(msgText)
.setSmallIcon(R.drawable.alert_icon)
.setAutoCancel(false);
return builder;
}
确保NotificationCompat.Builder=newnotificationcompat.Builder(上下文)
接受channelId
所以它应该是
NotificationCompat.Builder=new NotificationCompat.Builder(context,channelId)
日志中有任何错误记录吗?LogCat中没有任何内容,没有。应用程序不会崩溃,没有try/catch,因此无法捕获任何内容。我运行了调试器,构建器正在生成…LogCat中有任何错误日志吗?LogCat中没有任何内容,没有。应用程序没有崩溃,没有try/catch,因此没有要捕获的内容。我运行了调试器,构建器正在构建。。。