通知Notification
步骤:
1、调用getSystemService()获取NotificationManager:NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
2、创建Notification对象:Notification notification = new Notification(R.drawable.icon,"This is ticker text",System.currentTimeMillis());
3、创建布局:用builder的一系列相关方法替代,必要的属性包括setContentTitle()、setCotentText()、setSmallIcon()
4、显示通知:调用notify():manager.notify(1,notification);
实现点击效果:pendingIntent,在某个合适的时机去执行某个动作
创建对象:getActivity()、getBroadcast()、getService()
......
Intent intent = new Intent(this,NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this,0,intent,PendingIntent,FLAG_CANCEL_CURRENT);
Notification.setLatestEcentInfo(this,"This is conent title","This is content text",pi);
取消通知:调用NotificationManager的cancel():NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
manager.cancel(1);
通知的高级技巧:
1、sound:Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Baseic_tone.ogg"));
notification.sound = soundUri;
2、vibrate(震动,需要声明权限):long[] vibrates = {0,1000,1000,1000}; //立刻震动1秒,静止1秒,再震动1秒
notification.vibrate = vibrates;
3、ledARGB、ledOnMS、ledOffMS、flag(led灯)
收发短信:
收短信:1、创建广播接收器 2、注册 3、声明权限
发短信:1、设置监听器 2、声明权限
超出长度:调用SMSManager的sendMultipart-TextMessage()
调用摄像头:
1、创建一个File对象,并将拍下的照片存储在SD卡中:File outputImage = new File(Environment.getExternalStorageDirectory(),"名称");
2、将File对象转化为Uri:imageUri = Uri.formFile(outputImage);
3、通过intent保存Uri地址:Intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
4、调用startActivityForResult(intent,TAKE_PHOTO)启动相机
5、在onActivityResult()中裁剪图片:通过intent对象,并调用startActivityForResult(intent,CROP_PHOTO)启动裁剪程序
6、通过BitmapFactory的decodeStream()方法将照片解析成Bitmap对象
7、设置到ImageView中显示:setImageBitmap(bitmap)
从相册中选择:
在startActivityForResult(intent,CHOOSE_PHOTO)中打开相册,并判断手机系统版本,如果4.4以上解析封装过Uri;如果是4.4以下直接传入Uri到getImagePath()即可。之后再调用displayImage()显示图片。
播放音频:MediaPlayer
方法:setDataSource()、prapare()、start()、pause()、reset()、seekTo()、stop()、release()、isPlaying()、getDuration()
步骤:1、创建MediaPlayer对象
2、调用setDataSource()设置文件路径
3、调用prepare()进入准备状态
4、调用start()方法播放
5、调用pause()暂停播放
6、调用reset()停止播放
播放视频:VideoView
方法:setVideoPath()、start()、pause()、resume()、seekTo()、isPlaying()、getDuration()
通知Notification的更多相关文章
- 浏览器桌面通知Notification探究
首先说明,这篇博文不是科普讲解的,而是立flag研究的,是关于浏览器消息自动推送,就是下面这个玩意: 最近常常在浏览器看到这样的消息推送,还有QQ.com的推送,现在我对这个不了解,不知道叫消息自动推 ...
- iOS的通知Notification
这里是不同的对象之间的通知, 不是本地通知. 一开始玩, 很挠头, 后来发现原来只是对象init的过程出了问题. 首先, 新建一个简单的单controller的工程. 然后打开它的ViewContro ...
- 通知 Notification 详解
效果 通知栏-刚收到通知时 通知栏-收到通知几秒后 标准视图 大视图-下滑前是标准视图 大视图-下滑后显示大视图 自定义通知 讲解 Notification,俗称通知,是一种具有全局效果的通知,它展示 ...
- 发送通知:Notification
Intent的主要功能是完成一个Activity跳转到其他Activity或者是Service的操作,表示的是一种 操作的意图. PendingIntent表示的是暂时执行的一种意图,是一种在产生某一 ...
- Android简易实战教程--第三十八话《自定义通知NotifiCation》
上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播 ...
- 适配 通知 Notification 通知渠道 前台服务 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- h5桌面通知Notification
H5中的桌面通知Notification 前言: 对于一个前端开发者,逛网页总会留意一些新奇的功能,对于上班总会用到Teambition的我,总是能收到Notification...所以今天就来研究下 ...
- Phonegap 通知 Notification
通知 Notification 一.notification.alert 对话框 notification.alert 响铃 notification.beep 震动 notification.vib ...
- Flutter学习笔记(35)--通知Notification
如需转载,请注明出处:Flutter学习笔记(35)--通知Notification 通知的NotificationListener和我们之前写的事件的Listener一样,都是功能性的组件,而且也都 ...
- 轻松让HTML5可以显示桌面通知Notification非常实用
使用Notification的流程 1.检查浏览器是否支持Notification2.检查浏览器的通知权限3.如果权限不够则申请获取权限4.创建消息通知5.展示消息通知 Notification AP ...
随机推荐
- Swift: 在Swift中桥接OC文件(自己创建的类文件、第三方库文件)
一.介绍 随着Swift的逐渐成熟,使用swift开发或者混合开发已经成为了一个趋势,本身苹果公司也十分推荐使用Swift这门新语言.目前Swift已经更新到了3.0,估计没有多久4.0就要出来了.那 ...
- vim - char code and charset
In normal mode, type ga to display the decimal and hex values for the character under the cursor, or ...
- 三、oracle数据库成功安装步骤 Oracle数据源配置
安装完Oracle驱动后,如需连接远程Oracle数据库,还需进行数据源配置,类似Windows下的ODBC数据源配置. 运行"开始菜单\Oracle - OraDb11g_home1\ ...
- PythonNote01_HTML标签
>头标签<head> >>位置 头标签要放在头部之间 >>种类 <title> : 指定整个网页的标题,在浏览器最上方显示. <meta&g ...
- debian bcm43* 无线网卡驱动
deb http://httpredir.debian.org/debian/ jessie main contrib non-free # apt-get update# apt-get insta ...
- 【皇甫】☀Struts_第一节课
本章讲解内容: DTD是Docunent Type Defintion的缩写,即文档类型定义.DTD用来描述XML文档结构. DOM4J是一个非常优秀的javaXML API,具有性能优异,功能强大和 ...
- 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题
无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...
- 搭建Android底层开发环境
为了开发linux驱动方便些,我们一般将linux作为Android的开发环境,那么就需要搭建Android的开发环境,下面是一些搭建Android底层时的心得: (1)安装JDK:除了普遍使用的下载 ...
- mysql 表迁移
http://blog.csdn.net/evan_endian/article/details/8652528 mysql中把一个表的数据批量导入另一个表中 不管是在网站开发还是在应用程序开发 ...
- Nop源码分析二
上文我们已经通过该行代码:var typeFinder = containerManager.Resolve<ITypeFinder>(); 从注入容器中获取到了typeFinder实例. ...