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();
} }

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

android通知-Notification的更多相关文章

  1. Android 通知(Notification)

    1.介绍 2.常用属性 3.java后台代码 package com.lucky.test30notification; import android.app.Notification; import ...

  2. Android通知Notification全面剖析

    通知 通知是您可以在应用的常规 UI 外部向用户显示的消息.当您告知系统发出通知时,它将先以图标的形式显示在通知区域中.用户可以打开抽屉式通知栏查看通知的详细信息. 通知区域和抽屉式通知栏均是由系统控 ...

  3. Android——通知 Notification

    链接:http://jingyan.baidu.com/article/77b8dc7fde875a6175eab641.html http://www.2cto.com/kf/201502/3749 ...

  4. Android中的通知—Notification 自定义通知

    Android中Notification通知的实现步骤: 1.获取NotificationManager对象NotificationManager的三个公共方法:①cancel(int id) 取消以 ...

  5. Android 主页面顶部栏的通知Notification ,可以自定义通知消息栏的风格,并且点击通知栏进人本程序。

    常用的程序通知,显示到主页面的顶部栏. package com.lixu.tongzhi; import android.app.Activity; import android.app.Notifi ...

  6. Android 状态栏通知Notification、NotificationManager简介

    Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中, ...

  7. Android的状态栏通知(Notification)

    通知用于在状态栏显示消息,消息到来时以图标方式表示,如下: 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息. 1.Layout布局文件: <RelativeLayout xmlns:an ...

  8. Android简易实战教程--第三十八话《自定义通知NotifiCation》

    上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播 ...

  9. Android开发——Notification通知的各种Style详解

    本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...

随机推荐

  1. mysql部署到云主机的笔记

    写了个程序,需要把数据库部署到云主机上 MySQL基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限 为了安全,新添加一个用户来进行远程登录 登录MYSQL: ...

  2. LNK1169: one or more multiply defined symbols found

    The build failed due to multiple definitions of one or more symbols. This error is preceded by error ...

  3. Dynamics AX 2012 R2 堆栈跟踪:不能对客户端调用'unchecked'

    有一个Custom Service一直在正常使用.今天,Reinhard尝试在JOB中以X++代码Debug Custom Service的Method时,收到以下错误提示: 'unchecked' ...

  4. 卸载cygwin

    1.下载takeown.exe(貌似win自带,你可以打开cmd 输入takeown.exe查看,貌似不行)所以还是去网上下载吧,亲测http://download.csdn.net/download ...

  5. Volley获取网络图片使用总结

    参考资料 http://www.3fwork.com/b600/001956MYM002697/ //缓存 int cacheSize= 10 * 1024 * 1024; //声明一个新的Reque ...

  6. KTV项目总结

    KTV项目总结 大约一个星期前吧,老湿说我们要开始做KTV项目了,说是KTV项目是贯穿整个学的内容的,会所的,要我们认真去对待,一开始,第一天搭前台界面,总是有不会的,要去问问,这个要用什么控件啊,用 ...

  7. 2015弱校联盟(1) - I. Travel

    I. Travel Time Limit: 3000ms Memory Limit: 65536KB The country frog lives in has n towns which are c ...

  8. noi 666 放苹果

    题目链接:http://noi.openjudge.cn/ch0206/666/ 和ural 1114题意类似,但是有顺序,5,1,1和1,5,1是同一种序列.不能直接枚举 d(i,j) 前 i 个盘 ...

  9. 【入门】匈牙利算法+HNOI2006 hero超级英雄

    一.关于匈牙利算法 匈牙利算法是由匈牙利数学家Edmonds提出的,用增广路径求二分图最大匹配的算法. 听起来高端,其实说白了就是: 假设不存在单相思(单身狗偷偷抹眼泪),在一个同性恋不合法的国家里( ...

  10. 【Spring】搭建最简单的Spring MVC项目

    每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用 ...