通知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 ...
随机推荐
- 深度学习笔记(六)finetune
转自Caffe fine-tuning 微调网络 一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据.因为像在ImageNet上毕竟是一个千万级的图像数据库,通常我 ...
- magento 安装
magento 安装其实很简单. 第一步,打开,你下载好的程序,找到php.ini.simple,根据这里面的的要求,来修改,你本地或服务器 php.ini的配置. 第二步,开始安装了(注意,先在你的 ...
- iOS进行Basic认证与NTLM认证
一.iOS进行Basic认证 只需要在NSMutableURLRequest的Header中添加认证所需的Username和password. NSMutableURLRequest *webReq ...
- 只需三步--轻松反编译Android Apk文件
安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...
- windows2008吃尽内存的解决办法
最近才用上windows2008,之前一直用的是windows2003,发现系统运行一段时间后,内存吃紧,赶紧打开资源查看器,发现当前运行的程序占有内存都很小,后经查资料,原来是被windows200 ...
- centos6.4 挂载新盘并移动mysql数据目录
1 centos 挂载新盘并格式化 以vmware workstation12 中安装的centos6. 虚拟机为例进行演示 关机,添加硬盘 开机,格式化硬盘,并挂载 通过命令查看硬盘 fdisk – ...
- 【转】Deadlock的一些总结(死锁分析及处理)
1.1.1 摘要 在系统设计过程中,系统的稳定性.响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁 ...
- Android 自定义 view(四)—— onMeasure 方法理解
前言: 前面我们已经学过<Android 自定义 view(三)-- onDraw 方法理解>,那么接下我们还需要继续去理解自定义view里面的onMeasure 方法 推荐文章: htt ...
- mysql5.6.23免安装配置
1.官网下载,并解压 2.环境变量,path下,追加mysql的bin路径D:\Program Files\mysql\bin; 3.mysql目录下的my-default.ini重命名为my.ini ...
- iOS GCD 编程小结
一.简单介绍 1.GCD简介? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD优势 GCD是苹果公司为多核的并行运算提出的 ...