`
Bauble
  • 浏览: 67335 次
  • 性别: Icon_minigender_1
  • 来自: Mercury
社区版块
存档分类
最新评论

Android32_Notification用法

阅读更多

 

Android系统的状态栏(Status Bar)中有一个创新UI设计,这就是可以下拉的通知提示。当系统有一些消息要通知用户时,例如,收到短信、电子邮件、有未接来电时,都会把信息作为通知(Notification)发送给用户。

实例:

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:id="@+id/shownotification"
	android:layout_height="wrap_content"
	android:layout_width="wrap_content"
	android:text="显示通知"
/>
<Button android:id="@+id/deletenotification"
	android:layout_height="wrap_content"
	android:layout_width="wrap_content"
	android:text="清除通知"
/>
</LinearLayout>

 NotificationActivity.java

package com.android.activity;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NotificationActivity extends Activity {
	private Button showNotification = null;
	private Button deleteNotification = null;
	//Notification管理器
	private NotificationManager nm = null;
	private static final int NOTIFICATION_ID = 123456;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     //创建 NotificationManager,其中创建的nm 对象负责发出与取消 Notification
        nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        showNotification = (Button)findViewById(R.id.shownotification);
        deleteNotification = (Button)findViewById(R.id.deletenotification);
        showNotification.setOnClickListener(new ShowNotificationListener());
        deleteNotification.setOnClickListener(new DeletedNotificationListener());
    }
	class ShowNotificationListener implements OnClickListener{
		public void onClick(View v) {
		 showNotification(R.drawable.image,"图标边的文字","标题","内容");
		}
	}
	class DeletedNotificationListener implements OnClickListener{
		public void onClick(View v) {
			//表示当用户点击 Clear 之后,能够清除该通知。
			nm.cancel(NOTIFICATION_ID);
		}
	}
	public void showNotification(int icon,String tickertext,
			String title,String content){
		//创建 Notification ,参数依次为:icon的资源id,在状态栏上展示的滚动信息,时间。
		Notification notification = new Notification(icon,tickertext,System.currentTimeMillis());
		//这是设置通知是否同时播放声音或振动,声音为Notification.DEFAULT_SOUND
    	//振动为Notification.DEFAULT_VIBRATE;
    	//Light为Notification.DEFAULT_LIGHTS
    	//全部为Notification.DEFAULT_ALL
    	//如果是振动或者全部,必须在AndroidManifest.xml加入振动权限
    	notification.defaults = Notification.DEFAULT_ALL; 
    	//创建一个Intent,该Intent使得当用户点击该通知后发出这个Intent
    	//请注意,如果要以该Intent启动一个Activity,一定要设置 Intent.FLAG_ACTIVITY_NEW_TASK 标记。
    	//Intent.FLAG_ACTIVITY_CLEAR_TOP :如果在当前Task中,有要启动的Activity,那么把该Acitivity之前的所有Activity都关掉,并把此Activity置前以避免创建Activity的实例
    	//Intent.FLAG_ACTIVITY_NEW_TASK :系统会检查当前所有已创建的Task中是否有该要启动的Activity的Task,若有,则在该Task上创建Activity,若没有则新建具有该Activity属性的Task,并在该新建的Task上创建Activity
    	Intent intent = new Intent(this,NotificationActivity.class);
    	//PendingIntent 为Intent的包装,这里是启动Intent的描述,PendingIntent.getActivity 返回的PendingIntent表示,此PendingIntent实例中的Intent是用于启动 Activity 的Intent。PendingIntent.getActivity的参数依次为:Context,发送者的请求码(可以填0),用于系统发送的Intent,标志位
    	PendingIntent pt = PendingIntent.getActivity(this, 0,intent, 0);
    	notification.setLatestEventInfo(this,title,content,pt);
    	//启动Notification,参数依次为:在你的程序中标识Notification的id值(用来区分同一程序中的不同Notifycation,如果程序中只有一个Notification那么这里随便你填什么都可以,不过类型必须要为int),要通知的Notification
    	nm.notify(NOTIFICATION_ID, notification);
    }
}

 运行结果:


 文字消失后:


 清除通知后:

  • 大小: 34.7 KB
  • 大小: 34.9 KB
  • 大小: 30.2 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    30831_rad_studio_10.2.3_android_push_notification_patch.ZIP

    开发者需要仔细阅读此文件以了解补丁的正确使用方法和任何潜在的问题。 3. Android1023_Patch.zip:这是补丁的核心部分,可能包含源代码更改、资源更新或其他必要的组件,用于解决 Android 平台上的推送通知问题。...

    Android_Notification详细解读

    在初始化 NotificationManager 对象时,需要使用 getSystemService(NOTIFICATION_SERVICE) 方法。 三、Notification.Builder Notification.Builder 是 Notification 的内部类,用于创建 Notification 对象。它提供...

    mooc_android_lesson19_Notification自定义布局音乐播放的信息提示

    在"mooc_android_lesson19_Notification自定义布局音乐播放的信息提示"这门课程中,我们将深入学习如何使用Notification来创建一个模拟音乐播放的应用信息提示。 首先,Notification的基本使用涉及到`...

    android_notification.rar

    在Android系统中,通知(Notification)是应用与用户交互的重要方式之一,即使用户不直接在应用界面操作,也能接收到应用的重要信息。本示例源码着重探讨如何在Android应用程序中创建、管理和显示通知。 首先,`...

    Android通知栏的程序.zip_android_northziz_监听Android_通知栏

    本教程将深入探讨如何使用`NotificationListenerService`来监听Android设备的通知栏事件,以便实现自定义的功能,如记录通知历史、管理通知或者进行其他定制化处理。 `NotificationListenerService`是Android提供的...

    Android中使用Notification提示消息示例

    本示例将详细介绍如何在Android中使用Notification来创建和显示提示消息。 首先,我们需要理解Notification的基本结构。一个Notification通常包括以下部分: 1. **通知图标**:在状态栏显示的小图标,用于快速识别...

    toast_and_notification.zip

    4. 发送通知:使用`NotificationManager`的`notify(int id, Notification notification)`方法发送通知,`id`用于唯一标识通知,如果再次发送相同的`id`,会更新之前的通知。 在这个项目中,还提到了振动效果。在...

    ServiceDownload_notification_multipleThread

    - **API选择**:Android提供了多种下载方法,如`java.net.URL`、`HttpURLConnection`、`AsyncTask`以及`DownloadManager`等。`DownloadManager`是系统级服务,更适合大型文件下载,因为它能处理网络中断和设备重启...

    Android学习下 toast notification用法.rar

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

    Android-Push-Notifications-master_androidnotification_

    本项目“Android-Push-Notifications-master”专注于教授如何在Android应用中实现推送通知功能,特别关注“androidnotification”这一核心主题。下面将详细介绍这个项目涉及的关键知识点。 1. **GCM (Google Cloud ...

    Android实现Notification的通知栏常驻.zip

    2. **Builder对象**: 使用`NotificationCompat.Builder`类构建Notification,它提供了一系列方法来设置通知的标题、内容、图标、优先级等属性。 3. **PendingIntent**: Notification通常包含一个或多个`...

    Android_note.rar_ANDROID Note_Android_note_DEMO_androidnote

    笔记可能涵盖了这些存储方法的使用和操作。 5. **权限管理**:Android应用需要声明并获取必要的权限才能访问特定资源或执行某些操作。学习笔记会解释如何在AndroidManifest.xml中声明权限,以及在运行时请求用户...

    AndroidNotification

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

    安卓Android源码——notification1.rar

    在安卓(Android)系统中,通知(Notification)是应用程序与用户交互的重要方式,即使应用在后台运行,也能向用户展示信息。"安卓Android源码——notification1.rar"这个压缩包很可能包含了Android系统中关于通知...

    android Notification使用大全

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

    Android Notification更新

    在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能将信息传达给用户,如消息提醒、下载进度等。本文将深入探讨如何利用Android的Notification API来实现动态下载过程的可视化...

    Android 通知使用权(NotificationListenerService)的使用

    可以使用 sbn.getId() 方法获取通知的 ID,使用 sbn.getNotification() 方法获取通知对象,使用 sbn.getPackageName() 方法获取通知的包名等。 在实际应用中,NotificationListenerService 可以用于实现消息管理...

    Android项目源码支持闹钟秒表倒计时的小明闹钟.zip_ANDROID 闹钟_android_android秒表_闹钟

    - 在Android 6.0及以上版本,可能需要请求运行时权限,如`ACCESS_NOTIFICATION_POLICY`,以便能够显示通知。 7. **数据持久化**: - 为了保存用户的闹钟设置,可以使用SharedPreferences存储简单数据,或者使用...

    toast_and_notification.rar_android开发_Java_

    在Android应用开发中,`Toast`和`Notification`是两种重要的用户反馈机制,它们用于向用户展示信息,但各自有着不同的使用场景和表现形式。在Java编程环境下,开发者经常使用这两种工具来增强用户体验。 `Toast`是...

    notification_Toast_android_

    下面将详细介绍这两种机制的使用方法及其在Android开发中的应用。 `Toast`是Android系统提供的一种轻量级的通知方式,它会在屏幕上的指定位置短暂显示一行文本信息,通常用于告知用户某个操作的结果或提示。`Toast`...

Global site tag (gtag.js) - Google Analytics