美文网首页日常爬坑集锦
阿里移动推送anroid8以上无法收到推送

阿里移动推送anroid8以上无法收到推送

作者: 二妹是只猫 | 来源:发表于2020-03-20 11:30 被阅读0次

    8.0(API Level 26)起,Android 推出了NotificationChannel机制,旨在对通知进行分类管理。如果用户App的targetSdkVersion大于等于26,且并未设置NotificaitonChannel,创建的通知是不会弹出的,所以我们要对8.0及其以上的设配设置NotificaitonChannel:

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                    // 通知渠道的id
                    String id = "1";
                    // 用户可以看到的通知渠道的名字.
                    CharSequence name = "notification channel";
                    // 用户可以看到的通知渠道的描述
                    String description = "notification description";
                    int importance = NotificationManager.IMPORTANCE_HIGH;
                    NotificationChannel mChannel = new NotificationChannel(id, name, importance);
                    // 配置通知渠道的属性
                    mChannel.setDescription(description);
                    // 设置通知出现时的闪灯(如果 android 设备支持的话)
                    mChannel.enableLights(true);
                    mChannel.setLightColor(Color.RED);
                    // 设置通知出现时的震动(如果 android 设备支持的话)
                    mChannel.enableVibration(true);
                    mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
                    //最后在notificationmanager中创建该通知渠道
                    mNotificationManager.createNotificationChannel(mChannel);
    }
    

    特别注意服务端推送的时候也需要设置:

    // 指定notificaitonchannel id
    pushRequest.setAndroidNotificationChannel("1"); 
    

    相关文章

      网友评论

        本文标题:阿里移动推送anroid8以上无法收到推送

        本文链接:https://www.haomeiwen.com/subject/kgzdyhtx.html