`

Notification用法复习(3.0以后版本)

 
阅读更多
使用Notification的示例代码:
public class Main extends Activity implements OnClickListener {

	private NotificationManager notificationManager;
	private Notification.Builder mBuilder;
	private Notification mNotification;

	private void showNotification(String tickerText, String contentTitle,
			String contentText, int smallIconId, int bigIconId) {
		// 如果同类型消息还显示在通知栏,则仅更新消息条数.
		if (mBuilder != null && mNotification != null) {
			RemoteViews contentView = mNotification.contentView;
			contentView.setTextViewText(R.id.fileName, contentText);
			mBuilder.setContentTitle(contentTitle);
			mBuilder.setTicker(tickerText);
			mBuilder.setWhen(System.currentTimeMillis());
			// mBuilder.setContentInfo("提示消息");
			// mBuilder.setContentText(contentText);
			notificationManager.notify(1, mBuilder.getNotification());
			return;
		}

		Intent notificationIntent = new Intent(this, Main.class);
		// 如果当前Activity启动在前台,则不开启新的Activity。
		notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

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

		mBuilder = new Notification.Builder(this);

		// 设置下拉列表里的标题
		mBuilder.setContentTitle(contentTitle);

		// mBuilder.setContentInfo("提示消息");
		// mBuilder.setContentText(contentText);

		// 自定义显示消息内容
		RemoteViews contentView = new RemoteViews(getPackageName(),
				R.layout.inbox);
		contentView.setTextViewText(R.id.fileName, contentText);
		// 指定个性化视图
		mBuilder.setContent(contentView);

		mBuilder.setContentIntent(contentIntent);

		// mBuilder.setDeleteIntent(contentIntent);

		// 设置状态栏里面的图标(小图标)  
		mBuilder.setSmallIcon(smallIconId);

		// 下拉下拉列表里面的图标(大图标)
		mBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(),
				R.drawable.smile));

		// 状态栏显示的标题文本.
		mBuilder.setTicker(tickerText);

		mBuilder.setDefaults(Notification.DEFAULT_SOUND);
		// 设置事件发生时间
		mBuilder.setWhen(System.currentTimeMillis());
		// Setting this flag will make it so the notification is automatically
		// canceled when the user clicks it in the panel.
		mBuilder.setAutoCancel(true);

		mNotification = mBuilder.getNotification();
		notificationManager.notify(1, mNotification);
	}

	int i = 0;
	int j = 0;

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.btnSmile:
			showNotification("您收到的消息数:" + (++i) + "条!", "消息数", "您收到的消息数:"
					+ (++j) + "条!", R.drawable.why, R.drawable.smile);
			break;
		}
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 实例化NotificationManager.
		notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		Button btnSmile = (Button) findViewById(R.id.btnSmile);
		btnSmile.setOnClickListener(this);
	}

	@Override
	protected void onNewIntent(Intent intent) {
		super.onNewIntent(intent);
		System.out.println("onNewIntent() method called!!!");
		i = 0;
		j = 0;
	}
}


有一个点我们需要注意就是如果要在点击Notification栏的消息,打开本来已经启动的Activity时,我们需要在AndroidMenifest.xml配置文件中设置Activity的启动方式:
<activity
            android:name=".Main"
            android:label="@string/app_name"
            android:launchMode="singleTop" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
分享到:
评论
1 楼 edison_cool911 2012-11-04  
好久没别博客了,得坚持才行;)

相关推荐

    Python库 | monasca_notification-3.0.0.0rc1-py3-none-any.whl

    **Python库monasca_notification-3.0.0.0rc1-py3-none-any.whl详解** `monasca_notification`是Python开发的一个重要组件,它主要用于Monasca监控系统中的报警通知功能。Monasca是一个开放源代码项目,由OpenStack...

    PyPI 官网下载 | monasca_notification-3.0.0.0rc1-py3-none-any.whl

    资源来自pypi官网。 资源全名:monasca_notification-3.0.0.0rc1-py3-none-any.whl

    Notification最新用法、实现Notification的通知栏常驻、Notification的big View、解决Notification点击无效

    总结来说,掌握Notification的正确使用方法对于提升Android应用的用户体验至关重要。理解其最新特性,灵活运用各种样式和功能,可以确保信息有效地传达给用户,同时解决可能出现的问题,如点击无效,使应用更加用户...

    Android学习下 toast notification用法.rar

    本资源“Android学习下 toast notification用法.rar”包含了有关如何在Android应用中使用这两种组件的源码实例,适合Android初学者进行学习和参考。 1. **Toast** Toast在Android中用于在界面上显示临时消息,它会...

    Notification的用法和PendingIntent使用

    2. 设置 pending Intent:使用 `setLatestEventInfo` 方法将 pending Intent 设置到Notification 对象中。 在上面的代码中,我们实例化了一个 pending Intent,指定了要执行的操作是启动当前 Activity,并将其设置...

    vue-toast-notification:Vue.js的另一个Toast Notification插件

    用法 import Vue from 'vue' ; import VueToast from 'vue-toast-notification' ; // Import one of the available themes //import 'vue-toast-notification/dist/theme-default.css'; import 'vue-toast-...

    Notification用法

    1. 创建Notification渠道(Android 8.0及以上版本): 在Android 8.0(API级别26)及更高版本中,系统要求为每个通知频道创建一个渠道。通过`NotificationChannel`类来创建并设置其属性,如重要性、行为和描述,...

    学习android notification用法

    本教程将详细讲解Android Notification的基本用法,帮助开发者掌握如何创建、更新和管理通知。 首先,我们要知道Notification在Android系统中的主要组成部分:通知渠道(Notification Channel)、通知头像、通知...

    ndroid Notification 用法源码.

    本文将深入解析Android Notification的使用方法和源码分析。 1. **Notification的基本结构** - `Notification`对象包含了通知的所有信息,如标题、内容、图标、声音等。创建一个`Notification`需要使用`...

    你可能不知道的Notification用法

    在Android开发中,掌握Notification的正确使用方法至关重要,因为它直接影响到用户体验。下面我们将深入探讨"你可能不知道的Notification用法"。 首先,我们要明白Notification的层次结构。一个Notification通常...

    Notification用法详解,包含自定义视图

    本篇文章将深入讲解Notification的使用方法,包括如何创建基本通知、添加进度条以及自定义视图。 一、Notification的基本构建 1. 创建NotificationChannel:在Android Oreo(API 26)及以上版本,必须为每个通知...

    Android编程开发之NotiFication用法详解

    本篇文章将深入讲解Notification的用法,包括它的功能、使用技巧以及注意事项。 Notification的主要功能是提供一种持久性的通知,用户可以在状态栏看到它,即使应用并未处于前台。它通常用于电话、短信、邮件和闹钟...

    行动派操作系统:iOS3.0或以上版本、Android OS版本.pdf

    了解其工作原理和使用方法对提高测试效率至关重要。 4. **MMS和复制粘贴**:iOS3.0增加了多媒体消息服务(MMS)支持和复制粘贴功能,开发者需要考虑这些功能在应用中的集成。 5. **In-App Purchase**:内购系统...

    AndroidNotification

    "AndroidNotification"项目旨在整合Android平台上所有Notification的使用方法,这对于开发者来说是一个宝贵的资源,能够帮助他们理解和实践各种通知功能。 首先,我们来详细了解一下Android中的Notification。...

    Android NOtification 使用

    使用Toast非常简单,只需通过`Toast.makeText()`方法创建一个Toast实例,设置要显示的文本和持续时间,然后调用`show()`方法即可展示。 ```java Toast textToast = Toast.makeText(this, "提示内容", Toast.LENGTH_...

    android Notification使用大全

    本文将深入探讨如何在Android中使用Notification,包括基本用法、自定义样式以及高级特性。 ### 1. Notification的基本结构 每个Notification由一个`NotificationCompat.Builder`构建,它包含以下核心组件: - `...

    android Notification使用例子

    本项目是一个基于Android 2.3(Gingerbread)版本的小实例,旨在帮助开发者学习如何使用Notification API创建和管理通知。 首先,创建Notification需要使用`NotificationCompat.Builder`类,它是Android Support ...

    oracle data change notification,支持10.2以上的Oracle版本,速度很快,效率高

    Oracle Data Change Notification(DCN)是Oracle数据库提供的一项高级特性,自Oracle 10g Release 2(10.2版本)开始引入。这个功能允许应用程序高效地跟踪和响应数据库中的数据变化,而无需频繁地执行查询来检查...

    Notification的使用示例各种效果

    在构建`Notification`时,我们需要使用`NotificationCompat.Builder`类,它是Android Support Library提供的兼容版本,能确保在多个Android版本上运行。 1. **创建基本Notification** 使用`NotificationCompat....

    Notification

    5. **取消Notification**:当不再需要通知时,可以使用`NotificationManager`的`cancel`方法将其移除,通过指定相同的ID。 ```java manager.cancel(NOTIFICATION_ID); ``` `NotificationTest`文件可能包含了一个...

Global site tag (gtag.js) - Google Analytics