android notification点击与移除监听

private void showNotification() {

		NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
		NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
		mBuilder.setContentTitle("测试标题")// 设置通知栏标题
				.setContentText("测试内容")// 设置通知栏显示内容
				.setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL))// 设置通知栏点击意图
				// .setNumber(number);
				.setTicker("测试通知来啦")// 通知栏首次出现在通知栏,带上动画效果
				.setWhen(System.currentTimeMillis())// 通知栏时间,一般是直接用系统的
				.setPriority(Notification.DEFAULT_ALL)// 设置通知栏优先级
				.setAutoCancel(true)// 用户单击面板后消失
				.setOngoing(false)// true,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此
				// 占用设备(如一个文件下载,同步操作,主动网络连接)
				.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)// 向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,
				// 使用default属性,可以组合
				// Notification.DEFAULT_ALL Notification.DEFAULT_SOUND 添加声音 //
				// requires VIBRATE permission
				.setSmallIcon(R.drawable.ic_launcher);
		Notification notification = mBuilder.build();
		notification.flags = Notification.FLAG_ONGOING_EVENT;
		notification.flags = Notification.FLAG_NO_CLEAR;// 点击清除的时候不清除
//		Intent realIntent = new Intent(getApplicationContext(), MainActivity.class);
//		realIntent.addCategory(Intent.CATEGORY_LAUNCHER);
//		realIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
		Intent clickIntent = new Intent("action_click",null,getApplicationContext(), NotificationReceiver.class);
//		clickIntent.setAction("action_click");
		Intent dismissIntent = new Intent("action_dismiss", null, getApplicationContext(), NotificationReceiver.class);
//		intent.putExtra("realIntent", realIntent);
//		PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent,
//				0);
		PendingIntent clickPendingIntent = PendingIntent.getBroadcast(this, 0, clickIntent,
				0);
		PendingIntent dismissPendingIntent = PendingIntent.getBroadcast(this, 0, dismissIntent,
				0);
		mBuilder.setContentIntent(clickPendingIntent);
		mBuilder.setDeleteIntent(dismissPendingIntent);
		mNotificationManager.notify(0, mBuilder.build());
	}

你可能感兴趣的:(android)