Android第四十一天(3)
2019独角兽企业重金招聘Python工程师标准>>>
1、NotificationManager类对象
<1>getSystemService(Context.NOTIFICATION_SERVICE) 获取通知管理对象
<2>notify(int id, Notification notification)
//定义通知管理对象
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//定义通知构造器对象
NotificationCompat.Builder builder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_launcher).setContentTitle("标题").setContentText("文本").setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
(1)普通的通知
Intent intent1 = new Intent(this,SecondActivity.class); //设置点击通知时打开的窗口//定义延迟执行Intent的对象PendingIntent pIntent = PendingIntent.getActivity(this, 1, intent1, PendingIntent.FLAG_ONE_SHOT); //FLAG_ONE_SHOT:通知仅执行一次builder.setContentIntent(pIntent);manager.notify(0,builder.build());
(2)取消所有通知
manager.cancelAll();
(3) 带进度条的通知
final NotificationCompat.Builder progressBuilder = new NotificationCompat.Builder(this);
progressBuilder.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Title")
.setContentText("听说宋丹丹要上马年春晚");
new Thread(new Runnable() {
@Override
public void run() {
int i;
for(i = 0;i <= 100;i+= 5){
//第一个参数: 进度条的最大值,第二个参数:当前进度,第三个参数:是否为不确定性进度
progressBuilder.setProgress(100, i, false);
manager.notify(3, progressBuilder.build());
try {
Thread.sleep(500); //每隔0.5秒发送一次通知
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
progressBuilder.setContentText("下载完毕!");
manager.notify(3, progressBuilder.build());
}
}).start();
2、NotificationCompat.Builder 通知的构造类
<1>普通通知
(1)setSmallIcon(R.drawable.ic_launcher) 设置通知的小图标
(2)setContentTitle("标题")
(3)setContentText("文本内容")
(4)setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE) 设置通知提示
(5)setContentIntent(PendingIntent) 设置通知被点击后的意图
(6)Notification build() 生成通知对象
(7).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.qq))
<2>大视图通知
(1)setStyle(NotificationCompat.Style) 设置大视图样式
setBigContentTitle("大视图标题")
setSummaryText("大视图的说明")
(2)NotificationCompat.InboxStyle 包含一个列表控件
addLine("message1")
(3)NotificationCompat.BigTextStyle 包含一个大的文本控件
bigText("big text")
(4)NotificationCompat.BigPictureStyle 包含一个在的图片控件
bigPicture(BitmapFactory.decodeResource(getResources(), R.drawable.qq))
<3>带进度的通知
(1)setProgress(int max, int progress, boolean indeterminate) 设置当前进度,第三个参数:是否为不确定进度条
<4>自定义通知
(1)setContent(RemoteViews) 设置自定义的通知内容
(2)RemoteViews(String packageName, int layoutId) 加载一个指定应用下的布局资源文件
(3)setTextViewText(int viewId, "内容") 设置指定TextView控件的内容
(4)setImageViewBitmap(int viewId,Bitmap) 设置ImageView控件显示的图片
(5)setImageViewResource(int viewId,int resid) 设置ImageView控件显示的图片资源
转载于:https://my.oschina.net/huangxiaolei/blog/717956
Android第四十一天(3)相关推荐
- Android UI开发第四十一篇——墨迹天气3.0引导界面及动画实现
周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二 ...
- android studio wifi,Android Studio第四十一期 - WIFI开发
最近做项目遇到的问题,ListView滚动会改变Position的数值,所以要加以修改,才能做到微信的滚动,语音列表不会乱串Animation,唉~为什么会有这么多的BUG呢?faint~继续努力了~ ...
- 《Android学习指南》目录
转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先 ...
- android 中文 api (72) —— BluetoothSocket[蓝牙]
前言 本章内容是 android.bluetooth.BluetoothSocket,为Android蓝牙部分的章节翻译.蓝牙通讯套接字,代表了与远端设备的连接点,使用socket本地程序可以通过in ...
- Android开发笔记(序)写在前面的目录
知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经验教训,与网友互相切磋,从而去芜存菁进一步提升自己的水平.因此博主就想,入门的东西咱就不写了,人不能老停留在入 ...
- Android开发笔记(序)
本开发笔记,借鉴与其他开发者整理的文章范例与心得体会.在这里作为开发过程中的一个总结与笔记式记录. 如有侵犯作者权益,请及时联系告知删除.俗话说:集百家成一言,去粕成金. ************** ...
- Android开发笔记(序)写在前面的目录大全
转自 湖前琴亭 的博客https://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面 ...
- 左耳听风 第四十一周
左耳听风 第四十一周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...
- Android面试-Android性能优化和内存优化、APP启动速度一线大厂的实战案例解析
一.Android 内存管理机制 二.优化内存的意义 三.避免内存泄漏 四.优化内存空间 五.图片管理模块的设计与实现 六.总结 深入探索Android内存优化 第一章.重识内存优化 第二章.常见工具 ...
最新文章
- 网络推广外包专员浅析如何在网络推广外包中获得相关关键词?
- 纠缠于沉没成本—— 你为什么应该忽视过去
- 35.JVM 参数(JVM中的各种参数及含义、收集器相关、PrintGC等各种辅助参数)
- 第八节:常见安全隐患和传统的基于Session和Token的安全校验
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---24
- Opencv3.0.0安装包
- 教程视图Android教程(十三)-- Activity间的切换
- XML Web services 发现
- 中文文本对齐_终于明白Word如何快速对齐姓名!为之前狂敲空格的我,留下一把泪...
- python如何创建工程预设_新手如何发布第一个 Python 项目开源包?
- matlab连接散射点,使用小波散射做信号分类
- 51单片机实现电子时钟代码
- linux alsa工具,浅析alsa-utils工具aplay, mplayer
- Feign报错java.lang.NoSuchFieldError: MULTIPART_RELATED
- 解决ubuntu 16.04 启动黑屏,出现dev/sda7: clean, xxx/xxx files, xxx/xxx blocks字样问题
- 科普贴:远程开户,有哪些离岸银行可以选?
- Threejs系列--9游戏开发--沙漠赛车游戏【基础场景渲染】
- 空腹时 再饿都不能吃的11种食物
- 国内主流foundry工艺
- 建筑行业变革,ALC板材从工业建筑“红海”向民用住宅“蓝海”过渡
热门文章
- C# try与finally(WinForm、Asp.Net)
- Linux的文件和目录命令 linux系列⑤
- asp.net C#压缩打包文件例子
- 《Spring 5 官方文档》18. Web MVC 框架(五)
- Compiling: main.cpp /bin/sh: g++: not found
- javascript基础语法——变量和标识符
- 概率图模型PGM——D map, I map, perfect map
- [转]JavaScript代码收集
- BC427的UNIT3:Enhancement points/options Enhancement sections
- 来一次有侧重点的区分Swift与Objective-C