我正在尝试启动不可取消的持续通知,但无论我尝试什么都可以取消。
代码:
NotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.btn_rating_star_on_pressed_holo_light;
long when = System.currentTimeMillis();
notification = new Notification(icon, getString(R.string.notificationMSG), when);
notification.ledARGB = 999;
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, Notification.FLAG_ONGOING_EVENT + Notification.FLAG_NO_CLEAR + Notification.FLAG_SHOW_LIGHTS);
notification.setLatestEventInfo(context, getString(R.string.app_name), getString(R.string.notificationMSG), contentIntent);
notificationManager.notify(Global.NOTIFICATION_ID,notification);
我还想知道一旦启动它的活动完成后它将如何消失。尝试做以下事情,但它只能工作一段时间。
@Override
protected void onDestroy(){
notificationManager.cancel(Global.NOTIFICATION_ID);
super.onDestroy();
}
答案 0 :(得分:2)
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_NO_CLEAR;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
由于某些愚蠢的原因,我们无法将标志直接放在PendingIntent
中,而是需要以这种方式设置它们。