Android开发之Notification

本文详细介绍了如何在Android应用中创建并使用状态栏通知(Notification)。包括定义通知管理器、设置通知样式、创建持久化事件通知及不可清除通知等。同时讲解了如何设置点击通知返回到指定Activity的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Notification即状态栏通知,应用场景:当一个应用程序并未退出,只是运行于后台或者被其他程序掩盖时,如程序正在运行时,用户点击了HOME键时,程序实际并没有退出,这时可以在状态栏上显示正在运行的程序,当用户点击时回到程序的运行界面。Notification还可以用于通知用户一些与程序有关的消息等。

下面就来看Notification的使用,可以在Activity中创建一个方法用于创建Notification:

private void showNotification() {
		// 定义通知管理器 NOTIFICATION_SERVICE
		NotificationManager notificationManager = (NotificationManager) getSystemService(android.content.Context.NOTIFICATION_SERVICE);
		// 定义系统通知
		Notification notification = new Notification(R.drawable.icon, "炫壁风",
				System.currentTimeMillis());
		notification.flags |= Notification.FLAG_ONGOING_EVENT;
		notification.flags |= Notification.FLAG_NO_CLEAR;
		notification.flags |= Notification.FLAG_SHOW_LIGHTS;
		notification.defaults = Notification.DEFAULT_LIGHTS;
		notification.ledARGB = Color.BLUE;
		notification.ledOnMS = 5000;

		CharSequence contentTitle = "Android手机壁纸--炫壁风";
		CharSequence contentText = "欢迎使用炫壁风";
		Intent notificationIntent = new Intent();
		notificationIntent.setComponent(getComponentName());
		notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		notificationIntent.setClass(context, XBFActivity.class);

		PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
				notificationIntent, 0);

		notification.setLatestEventInfo(this, contentTitle, contentText,
				contentIntent);

		notificationManager.notify(0, notification);
	}

然后在需要的地方调用这个方法就行了。还有一个问题就是当点击状态栏的图标后会重新创建一个Activity,并不是回到原来的Activity,解决办法是在AndroidManifest.xml中将Activity加上android:launchMode="singleTask"属性。

删除Notification:

 NotificationManager notificationManager = (NotificationManager) this 
                    .getSystemService(NOTIFICATION_SERVICE); 
            notificationManager.cancel(0); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值