android - Notification通知在OPPO手机上不弹出提示?

 猥琐的爆米花 发布于 2022-10-28 01:54

我需要在通知栏上弹出一个通知提示类似于QQ那种,但是在其他手机上都可以弹,今天在OPPO R9m试了下通知列表是有信息,但是没有弹出的提示。 哪位知道是什么问题导致的吗?

//代码

public static void sendNotification(String title, String content, Context context, Class activity) {
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
        Intent intent = new Intent(context, activity);
        PendingIntent pendingIntent = PendingIntent
                .getActivity(context, pendingId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(pendingIntent);// 设置通知栏点击意图
        mBuilder.setContentTitle(title);// 设置通知栏标题
        mBuilder.setContentText(content);
        mBuilder.setSmallIcon(R.drawable.icon_laucher);// 设置通知小ICON(5.0必须采用白色透明图片)
        //mBuilder.setTicker(content + "有警报!"); // 通知首次出现在通知栏,带上升动画效果的
        if (Build.VERSION.SDK_INT >=
                //悬挂式Notification,5.0后显示
                Build.VERSION_CODES.LOLLIPOP) {
            mBuilder.setFullScreenIntent(pendingIntent, true);
            mBuilder.setCategory(NotificationCompat.CATEGORY_MESSAGE);
            mBuilder.setVisibility(Notification.VISIBILITY_PUBLIC);
        }
        mBuilder.setLargeIcon(BitmapFactory.decodeResource(context
                .getResources(), R.drawable.icon_laucher));// 设置通知大ICON
        mBuilder.setWhen(System
                .currentTimeMillis());// 通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
        mBuilder.setPriority(NotificationCompat.PRIORITY_MAX); // 设置该通知优先级
        mBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);//在任何情况下都显示,不受锁屏影响。
        mBuilder.setAutoCancel(true);// 设置这个标志当用户单击面板就可以让通知将自动取消
        mBuilder.setOngoing(false);// ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
        // 向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用NotificationCompat.DEFAULT_ALL属性,可以组合
        //mBuilder.setVibrate(new long[] { 0, 100, 500, 100 });//振动效果需要振动权限
        //Uri defaultSoundUrlUri = RingtoneManager
        //        .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); //声音
        //
        //mBuilder.setSound(defaultSoundUrlUri);
        mBuilder.setDefaults(NotificationCompat.DEFAULT_LIGHTS);//闪灯
        NotificationManager mNotificationManager = (NotificationManager) context
                .getSystemService(Activity.NOTIFICATION_SERVICE);
        //Notification notification = mBuilder.getNotification();//API 11
        Notification notification = mBuilder.build();//API 16
        mNotificationManager.notify(1, notification);
    }
2 个回答
  • 默认是关闭APP通知权限的。

    2022-10-29 07:45 回答
  • 查一下是不是被禁止弹出通知栏了

    2022-10-29 07:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有