步骤:

  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的更多相关文章

  1. 浏览器桌面通知Notification探究

    首先说明,这篇博文不是科普讲解的,而是立flag研究的,是关于浏览器消息自动推送,就是下面这个玩意: 最近常常在浏览器看到这样的消息推送,还有QQ.com的推送,现在我对这个不了解,不知道叫消息自动推 ...

  2. iOS的通知Notification

    这里是不同的对象之间的通知, 不是本地通知. 一开始玩, 很挠头, 后来发现原来只是对象init的过程出了问题. 首先, 新建一个简单的单controller的工程. 然后打开它的ViewContro ...

  3. 通知 Notification 详解

    效果 通知栏-刚收到通知时 通知栏-收到通知几秒后 标准视图 大视图-下滑前是标准视图 大视图-下滑后显示大视图 自定义通知 讲解 Notification,俗称通知,是一种具有全局效果的通知,它展示 ...

  4. 发送通知:Notification

    Intent的主要功能是完成一个Activity跳转到其他Activity或者是Service的操作,表示的是一种 操作的意图. PendingIntent表示的是暂时执行的一种意图,是一种在产生某一 ...

  5. Android简易实战教程--第三十八话《自定义通知NotifiCation》

    上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播 ...

  6. 适配 通知 Notification 通知渠道 前台服务 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. h5桌面通知Notification

    H5中的桌面通知Notification 前言: 对于一个前端开发者,逛网页总会留意一些新奇的功能,对于上班总会用到Teambition的我,总是能收到Notification...所以今天就来研究下 ...

  8. Phonegap 通知 Notification

    通知 Notification 一.notification.alert 对话框 notification.alert 响铃 notification.beep 震动 notification.vib ...

  9. Flutter学习笔记(35)--通知Notification

    如需转载,请注明出处:Flutter学习笔记(35)--通知Notification 通知的NotificationListener和我们之前写的事件的Listener一样,都是功能性的组件,而且也都 ...

  10. 轻松让HTML5可以显示桌面通知Notification非常实用

    使用Notification的流程 1.检查浏览器是否支持Notification2.检查浏览器的通知权限3.如果权限不够则申请获取权限4.创建消息通知5.展示消息通知 Notification AP ...

随机推荐

  1. 深度学习笔记(六)finetune

    转自Caffe fine-tuning 微调网络 一般来说我们自己需要做的方向,比如在一些特定的领域的识别分类中,我们很难拿到大量的数据.因为像在ImageNet上毕竟是一个千万级的图像数据库,通常我 ...

  2. magento 安装

    magento 安装其实很简单. 第一步,打开,你下载好的程序,找到php.ini.simple,根据这里面的的要求,来修改,你本地或服务器 php.ini的配置. 第二步,开始安装了(注意,先在你的 ...

  3. iOS进行Basic认证与NTLM认证

    一.iOS进行Basic认证 只需要在NSMutableURLRequest的Header中添加认证所需的Username和password. NSMutableURLRequest *webReq ...

  4. 只需三步--轻松反编译Android Apk文件

    安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...

  5. windows2008吃尽内存的解决办法

    最近才用上windows2008,之前一直用的是windows2003,发现系统运行一段时间后,内存吃紧,赶紧打开资源查看器,发现当前运行的程序占有内存都很小,后经查资料,原来是被windows200 ...

  6. centos6.4 挂载新盘并移动mysql数据目录

    1 centos 挂载新盘并格式化 以vmware workstation12 中安装的centos6. 虚拟机为例进行演示 关机,添加硬盘 开机,格式化硬盘,并挂载 通过命令查看硬盘 fdisk – ...

  7. 【转】Deadlock的一些总结(死锁分析及处理)

    1.1.1 摘要 在系统设计过程中,系统的稳定性.响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁 ...

  8. Android 自定义 view(四)—— onMeasure 方法理解

    前言: 前面我们已经学过<Android 自定义 view(三)-- onDraw 方法理解>,那么接下我们还需要继续去理解自定义view里面的onMeasure 方法 推荐文章: htt ...

  9. mysql5.6.23免安装配置

    1.官网下载,并解压 2.环境变量,path下,追加mysql的bin路径D:\Program Files\mysql\bin; 3.mysql目录下的my-default.ini重命名为my.ini ...

  10. iOS GCD 编程小结

    一.简单介绍 1.GCD简介? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD优势 GCD是苹果公司为多核的并行运算提出的 ...