我需要在通知栏上弹出一个通知提示类似于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);
}