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();
} }
就是这么简单,只是用来复习一下基础知识。^_^
android通知-Notification的更多相关文章
- Android 通知(Notification)
1.介绍 2.常用属性 3.java后台代码 package com.lucky.test30notification; import android.app.Notification; import ...
- Android通知Notification全面剖析
通知 通知是您可以在应用的常规 UI 外部向用户显示的消息.当您告知系统发出通知时,它将先以图标的形式显示在通知区域中.用户可以打开抽屉式通知栏查看通知的详细信息. 通知区域和抽屉式通知栏均是由系统控 ...
- Android——通知 Notification
链接:http://jingyan.baidu.com/article/77b8dc7fde875a6175eab641.html http://www.2cto.com/kf/201502/3749 ...
- Android中的通知—Notification 自定义通知
Android中Notification通知的实现步骤: 1.获取NotificationManager对象NotificationManager的三个公共方法:①cancel(int id) 取消以 ...
- Android 主页面顶部栏的通知Notification ,可以自定义通知消息栏的风格,并且点击通知栏进人本程序。
常用的程序通知,显示到主页面的顶部栏. package com.lixu.tongzhi; import android.app.Activity; import android.app.Notifi ...
- Android 状态栏通知Notification、NotificationManager简介
Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中, ...
- Android的状态栏通知(Notification)
通知用于在状态栏显示消息,消息到来时以图标方式表示,如下: 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息. 1.Layout布局文件: <RelativeLayout xmlns:an ...
- Android简易实战教程--第三十八话《自定义通知NotifiCation》
上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播 ...
- Android开发——Notification通知的各种Style详解
本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...
随机推荐
- Live writer
使用起来还是蛮方便的,安装速度很快,配置也不麻烦.
- 高性能完成端口socket服务(IOCP)
1. Winsock IO模型之IOCP模型 来自csdn blog,版权声明:本文为博主原创文章,未经博主允许不得转载. 我这里记录下,不算转载吧 http://blog.csdn.net/lost ...
- 接口测试之HttpClient
HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客 ...
- 读取NfcA格式数据
如何读取数据? Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); NfcA nfcA = NfcA.get(ta ...
- 深入理解C++的动态绑定和静态绑定【转】
转自:http://blog.csdn.net/chgaowei/article/details/6427731 为了支持c++的多态性,才用了动态绑定和静态绑定.理解他们的区别有助于更好的理解多态性 ...
- openvpn之搭建配置
一.openvpn原理 openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的.这种方式称为TLS加密 ...
- 修改PHP 上传文件大小限制
Windows 环境下的修改方法 ================================================================第一步:修改在php5下POST文件大 ...
- ember.js学习笔记
启动服务器 ember server 访问localhost:4200 创建新的路由:ember generate route 路由名称,运行此命令会同时创建一个/templates/.XXXhbs模 ...
- Ajax全接触
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML) 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不 ...
- Scrum Meeting 10-20151216
任务安排 姓名 今日任务 明日任务 困难 董元财 网络连接框架优化 网络连接框架优化 无 胡亚坤 优化商品搜索界面 优化商品搜索界面 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) ...