安卓状态栏通知Status Bar Notification
安卓系统通知用户三种方式:
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的更多相关文章
- Material Design 之 定义状态栏(Status Bar)的颜色
Hey,好久不见.今天遇到一个问题,想要把Status Bar 和 Tool Bar的颜色弄成一样的,或者是类似的,例如Material Design: 图中Status Bar颜色比Tool Bar ...
- iOS7 设置隐藏状态栏(status bar)
在info.plist 添加 UIViewControllerBasedStatusBarAppearance(View controller-based status bar appearance) ...
- IQKeyboardManager 状态栏(status bar)问题
因为懒,所以具体什么样子,参考下面的链接 具体的问题情况参考:StatusBar background problem #1158 我解决的思路很简单,就是在监听键盘消失的时候,去设置 statys ...
- 【Android】状态栏通知Notification、NotificationManager详解(转)
在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationMa ...
- Android的状态栏通知(Notification)
通知用于在状态栏显示消息,消息到来时以图标方式表示,如下: 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息. 1.Layout布局文件: <RelativeLayout xmlns:an ...
- Java基础之扩展GUI——添加状态栏(Sketcher 1 with a status bar)
控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusB ...
- 状态栏通知Notification的简单使用
今天在学习Notification时同时参考了一些相关的博客,现在结合自身学习实际来总结一下. 在使用手机时,当有未接来电或者短消息时,通常会在手机屏幕上的状态栏上显示.而在Android中有提醒功能 ...
- Android 状态栏通知Notification、NotificationManager简介
Notification(通知)一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个通知: 在Android系统中, ...
- Android - 隐藏最顶端的通知条(Top Notification Bar)
隐藏最顶端的通知条(Top Notification Bar/ActionBar) 本文地址: http://blog.csdn.net/caroline_wendy Android中, 视频播放等功 ...
随机推荐
- WebBrowser.ExecWB方法
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- java下socket传文件
package cn.stat.p4.ipdemo; import java.io.BufferedReader; import java.io.BufferedWriter; import java ...
- UVALive - 5116
dfs n以内所有素数的乘积map或set删多余的,有点思维在里面,就写写
- 剖析c++(二) 内置类型的内存形式
分布形式以及转换时候的截断(待编辑)
- [Mugeda HTML5技术教程之9]使用元件
元件是一个可以在舞台上实例化和再利用的预先生成的独立动画.一个元件有它自己的时间轴(层,单位等),可以独立显示的动画.元件提高了动画的重用性和灵活性,是个强大的存在.元件可用于创建复杂的动画效果. 所 ...
- AES CBC 128的实现
原由 AES已经变成目前对称加密中最流行算法之一,AES可以使用128.192.和256位密钥,并且用128位分组加密和解密数据. 项目中需要使用AES对密码信息进行加密,由嵌入式设备使用C语言进行加 ...
- 枚举类:用enum关键字来定义一个枚举类
1)枚举类的两种定义方法 1>通过构造器 public enum Grade{ A("A", "90-100"),B("B",&quo ...
- PSAM读卡芯片TDA8007BHL开发
WWT:Work Waiting Time ATR:Answer To Reset,复位应答 etu =F/Df 1. PSAM概述和应用 PSAM(PurchaseSecure Access ...
- C#读取文件高效方法实现
C# Code 12345678910111213141516171819202122232425262728293031 private void button1_Click ...
- [置顶] 【原创分享】嵌入式linux应用之内核移植定制篇-前篇(linux-3.8.12 mini2440)--20130824
移植的话其实很早就做过了,不过那时用的友善定制的老版本2.6.32 驱动什么的全部弄好了,仅仅用默认配置而已.基本不用改动什么,很简单. 内核更新其实非常的快,今天我就用个3.8.12来移植. 当然, ...