android通知-Notification

android中,当app需要向发送一些通知,让使用者注意到你想要告知的信息时,可以用Notification.下面,就来讨论一下,Notification的用法,我们从实际的小例子来进行学习。

1.新建一个项目,在layout布局里写两个按钮,一个用来开启通知,一个用来关闭通知。下面直接上布局代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    >

    <Button
        android:id="@+id/bt_up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:onClick="openNotify"
        android:text="open" />
    <Button
        android:id="@+id/bt_down"
        android:layout_below="@id/bt_up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="closeNotify"
        android:text="close" />

</RelativeLayout>

然后就是代码的实现了,还是直接上代码,很简单,相信大家一看就明白。

package com.example.demo;

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;
/**
 *
 * @author jianww
 * 2015-12-16
 *
 */
public class MainActivity extends Activity {

	/**
	 * 1.先建立通知管理器,得到通知服务
	 * 2.创建通知对象,发出一个通知。
	 * 3.
	 */
	//1.建立通知管理器,
	private NotificationManager notifyManager;
	//2.声明通知对象变量。
	private Notification notify;
	//3.创建意图,当点击通知时,打开相应的意思对象,跳转到对应的类。
	private Intent intent;
	/*
	 * Intent 是及时启动,intent 随所在的activity 消失而消失。
		PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,
		getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,
		而是在外部执行 pendingintent时,调用intent的。正由于pendingintent中 保存有当前
		App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里
		的 Intent, 就算在执行时当前App已经不存在了,也能通过存在pendingintent里的Context照样执行Intent。
		另外还可以处理intent执行后的操作。常和alermanger 和notificationmanager一起使用。
		 Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,
		而Pendingintent,一般用在 Notification上,可以理解为延迟执行的intent,
		PendingIntent是对Intent一个包装。本例用pendingIntent可以从通知中打开要打开的app中的对象。
	*/
	private PendingIntent pendIntent;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		notifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
	}
	//打开通知
	public void openNotify(View v) {
		//创建通知对象实例,传入默认的通知对象图片,通知标题,通知发出时间。
		notify = new Notification(R.drawable.ic_launcher,"通知",System.currentTimeMillis());
		//创建意图。此意图不会立刻执行,只有当pendingIntent执行时,才会执行传入里面的意图。
		intent = new Intent(getApplicationContext(),MainActivity.class);
		//得到pendintent对象实例。设置此延时意图的标记。
		pendIntent = PendingIntent.getActivity(getApplicationContext(), 100, intent, 0);
		//设置通知的标题与内容。
		notify.setLatestEventInfo(getApplicationContext(), "通知", "通知的内容", pendIntent);
		//设置通知的标记为默认。
		notify.flags = Notification.FLAG_AUTO_CANCEL;
		//开始通知。
		notifyManager.notify(100, notify);
	}
	//关闭通知。
	public void closeNotify(View v) {
		//关闭通知。
		pendIntent.cancel();
	}

}

  就是这么简单,只是用来复习一下基础知识。^_^

时间: 2024-12-12 05:37:17

android通知-Notification的相关文章

Android通知Notification

一个小demo.点击 发送通知 按钮,则发送通知到设备的通知栏.点击 清除通知 则清除通知栏上的消息通知. package zhangphil.notification; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.app.Activity; import android.app.Notification; import android.app.N

Android通知Notification详解

Notification的使用大体步骤 Notification简介 PendingIntent简介 使用RemoteViews自定义Notification 更新与移除通知 设定提示响应 附录 Notification的使用大体步骤: 1. 获取状态通知栏管理 2. 实例化通知栏构造器 3. 设置NotificationCompat.Builder 4. 设置PendingIntent 5. 显示 因为Android的快速发展,而Android的版本也快速的升级导致了一些兼容性的问题.对于No

Android 通知Notification

Android 通知栏Notification的简但使用,效果如上图,废话不说,代码: 1 private void notification() { 2 Notification notification; 3 int notification_id = 11; 4 5 //通过系统服务来获取对象 6 NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SER

Android通知Notification全面剖析

通知 通知是您可以在应用的常规 UI 外部向用户显示的消息.当您告知系统发出通知时,它将先以图标的形式显示在通知区域中.用户可以打开抽屉式通知栏查看通知的详细信息. 通知区域和抽屉式通知栏均是由系统控制的区域,用户可以随时查看. 图 1. 通知区域中的通知. 图 2. 抽屉式通知栏中的通知. 注:除非特别注明,否则本指南均引用版本 4 支持库中的 NotificationCompat.Builder 类.Android 3.0(API 级别 11)中已添加类 Notification.Build

【Android】状态栏通知Notification、NotificationManager详解(转)

在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationManager . Notification. NotificationManager :  是状态栏通知的管理类,负责发通知.清楚通知等. NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取. [java] view plainc

Android 主页面顶部栏的通知Notification 。

1 package com.lixu.tongzhi; 2 3 import android.app.Activity; 4 import android.app.Notification; 5 import android.app.NotificationManager; 6 import android.os.Bundle; 7 import android.support.v4.app.NotificationCompat; 8 import android.view.View; 9 im

android之Notification通知

android之Notification通知 我们在用手机的时候,如果来了短信,而我们没有点击查看的话,是不是在手机的最上边的状态栏里有一个短信的小图标提示啊?你是不是也想实现这种功能呢?今天的Notification就是解决这个问题的. [java] view plaincopy package cn.com.chenzheng_java; import android.app.Activity; import android.app.Notification; import android.

android之【本地通知Notification】

public class NotificationTest extends Activity { static final int NOTIFICATION_ID = 0x1123; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取应用界面中的Button对象 Button bn =

Android 状态栏通知Notification

Notification可以在屏幕最顶部的状态栏上显示一个图标通知,通知的同时可以播放声音,以及振动提示用户,点击通知还可以返回指定的Activity. 今天例子的效果图: 布局main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro