安卓系统通知用户三种方式:

1.Toast Notification

2.Dialog Notification

3.Status Bar Notification Status Bar Notification,状态栏通知

发送一个状态栏通知必须用到两个类:NotificationManager,Notification

1.NotificationManager是一个系统Service,必须通过getSystemService()获取

NotificationManager notificationManager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);

2.Notification是具体的状态栏通知对象

调用NotificationManager的notify()方法创建Notification

两部分:

①:状态栏通知

notification.icon=R.drawable.ic_launcher;

notification.tickerText="My First Notification";

notification.when=System.currentTimeMillis();

②:下拉通知列表和点击跳转:

两种方式:

一:setLatestEventInfo()方法

Context context = getApplicationContext();

CharSequence contentTitle="Notification";

CharSequence contentText="Notification Context";

Intent intent=new Intent(Main.this,Turn.class);

PendingIntent pendingIntent=PendingIntent.getActivity(Main.this, 0, intent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent);

二:自定义通知栏

notification.flags=Notification.FLAG_AUTO_CANCEL;用户点击后通知自动取消

设置两个变量contentView和contentIntent

RemoteViews contenView=new RemoteViews(getPackageName(), R.layout.notification_layout);

contenView.setImageViewResource(R.id.icon, R.drawable.ic_launcher);

contenView.setTextViewText(R.id.contentText, "自定义通知");

notification.contentView=contenView;

Intent intent1=new Intent(Main.this,Turn.class);

PendingIntent pendingIntent1=PendingIntent.getActivity(Main.this, 0, intent1, 0);

notification.contentIntent=pendingIntent1;

Tips:

可能遇到的错误:Couldn't expand RemoteViews for:

检查是否是RemoteViews对应的layout里使用了它不支持的组件

检查RemoteViews对应的layout布局文件是否有基本错误,例如忘记声明宽高等

安卓状态栏通知Status Bar Notification的更多相关文章

  1. Material Design 之 定义状态栏(Status Bar)的颜色

    Hey,好久不见.今天遇到一个问题,想要把Status Bar 和 Tool Bar的颜色弄成一样的,或者是类似的,例如Material Design: 图中Status Bar颜色比Tool Bar ...

  2. iOS7 设置隐藏状态栏(status bar)

    在info.plist 添加 UIViewControllerBasedStatusBarAppearance(View controller-based status bar appearance) ...

  3. IQKeyboardManager 状态栏(status bar)问题

    因为懒,所以具体什么样子,参考下面的链接 具体的问题情况参考:StatusBar background problem #1158 我解决的思路很简单,就是在监听键盘消失的时候,去设置 statys ...

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

    在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:  NotificationMa ...

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

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

  6. Java基础之扩展GUI——添加状态栏(Sketcher 1 with a status bar)

    控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusB ...

  7. 状态栏通知Notification的简单使用

    今天在学习Notification时同时参考了一些相关的博客,现在结合自身学习实际来总结一下. 在使用手机时,当有未接来电或者短消息时,通常会在手机屏幕上的状态栏上显示.而在Android中有提醒功能 ...

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

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

  9. Android - 隐藏最顶端的通知条(Top Notification Bar)

    隐藏最顶端的通知条(Top Notification Bar/ActionBar) 本文地址: http://blog.csdn.net/caroline_wendy Android中, 视频播放等功 ...

随机推荐

  1. 数据库元数据分析Demo

    核心类:DatabaseMetaData.ResultSetMetaData 1 System.err.println("********************************** ...

  2. Linux 下安装python软件包

    1.安装setuptools 下载地址:https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py 解压: tar zxvf set ...

  3. c++回调实现

    回调是A将一个函数指针传给B,然后调用B,B在执行自身函数后,再在合适的时候执行A的这个函数指针,这样就能避免A和B的相互包含和链接,在大型项目中回调是一种打破循环依赖的常用技术. typedef v ...

  4. Java系列--第四篇 基于Maven的SSME之发送邮件

    在系列第一篇中,使用的是mybatis得到了一个小小的项目,而该项目的用户对象是有邮件地址的,如果按照邮件地址给对方去一封邮件会不会更能体现针对性呢,所以,我在这篇准备加入发送邮件的功能,利用的就是s ...

  5. mysql配置文件my.cnf

    basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...

  6. js获取下拉列表(select)选中项的值和文本

    获取下拉列表选中项的值和文本(select) <html> <head> <meta charset="utf-8"/> <title&g ...

  7. 如何在Ubuntu 14.04中使用Samba共享文件

    Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...

  8. LINUX VPS 查看系统信息命令

    系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostna ...

  9. python学习第十五天 -面向对象之继承和多态

    大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承: 当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有 ...

  10. NAMESPACE

    限定作用域,比类高,比文件低. cpp 和 h 里面都要用到.