推送通知在android studio中不起作用

Posted

技术标签:

【中文标题】推送通知在android studio中不起作用【英文标题】:push Notification is not working in android studio 【发布时间】:2018-10-16 10:37:26 【问题描述】:

您好,我需要添加推送通知以代表公司欢迎用户 这是我的代码,但它不起作用

 NotificationManager notif=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
      Notification notify=new Notification.Builder
  (getApplicationContext()).setContentTitle("BergEsapes").setContentText("Kindly Login Your Account").
                            setContentTitle("User Register Succesfully").setSmallIcon(R.drawable.appicon).build();

                    notify.flags |= Notification.FLAG_AUTO_CANCEL;
                    notif.notify(0, notify);

【问题讨论】:

请不要在您的问题中添加您的代码在 cmets 中简单编辑 试试这个***.com/questions/50486017/… 【参考方案1】:

我认为您没有创建通知通道。这就是它不显示通知的原因。 android Oreo(8.0) 及以上版本要求您必须先创建一个频道。请检查以下代码以获得更好的理解。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 
        builder.setChannelId("YOUR_PACKAGE_NAME");
    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 
        NotificationChannel channel = new NotificationChannel(
                "YOUR_PACKAGE_NAME",
                "YOUR_APP_NAME",
                NotificationManager.IMPORTANCE_DEFAULT
        );
        if (notificationManager != null) 
            notificationManager.createNotificationChannel(channel);
        
    

完整解决方案如下:

private void showNotification(String message)

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context,"default")
            .setSmallIcon(android.R.drawable.ic_dialog_info)
            .setContentTitle("Notification Title")
            .setContentText(message)
            .setDefaults(NotificationCompat.DEFAULT_ALL)
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 
        builder.setChannelId("YOUR_PACKAGE_NAME");
    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 
        NotificationChannel channel = new NotificationChannel(
                "YOUR_PACKAGE_NAME",
                "YOUR_APP_NAME",
                NotificationManager.IMPORTANCE_DEFAULT
        );
        if (notificationManager != null) 
            notificationManager.createNotificationChannel(channel);
        
    
    notificationManager.notify(NOTIFICATION_ID,builder.build());

【讨论】:

@DINITHRUKSHANKUMARA - 如果还没有完成,您可以投票并标记它有帮助。

以上是关于推送通知在android studio中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight - 推送通知功能在 Android 模拟器中不起作用

反应本机推送通知在 Android 8.1(API 级别 27)中不起作用

Android推送通知PHP代码在第三方服务器中不起作用,在本地服务器中工作

FCM 推送通知在 android 中不起作用(使用 cordova-plugin-fcm 2.1.1 的 Ionic 项目)

通知在android中不起作用

应用程序关闭时,自定义声音在 Firebase 推送通知中不起作用