首先,代码如下。
Intent intent = app.getChatActivity();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(
getApplicationContext(), count++, intent, 0);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this);
mBuilder.setContentTitle("消息").setContentText(text)
.setContentIntent(pendingIntent).setTicker(text)
.setWhen(System.currentTimeMillis())
.setPriority(Notification.PRIORITY_DEFAULT)
.setAutoCancel(false).setOngoing(false)
// .setDefaults(Notification.DEFAULT_VIBRATE|Notification.DEFAULT_LIGHTS)
.setSmallIcon(R.drawable.icon);//
Notification n = mBuilder.build();
n.defaults |= Notification.DEFAULT_VIBRATE;
n.ledARGB = Color.GREEN;
n.ledOnMS = 500;
n.ledOffMS = 500;
n.flags = n.flags | Notification.FLAG_SHOW_LIGHTS;
nm.notify(NotifyConstants.MSG, n);
代码是没有问题的,在某些手机上,点击通知栏发送的通知,却没有任何反应,也不消失。
经查找资料,发现某些手机需要“被外界启动”的权限。
在清单文件中对应的activity上,加上android:exported="true" 就可以了。