丰富你的程序,运用手机多媒体

丰富你的程序,运用手机多媒体

使用通知

  • 通知(Notification)是Android系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些,而该应用程序又不在前台运行时,就可以借助通知来实现。

通知的基本用法

  • 首先需要一个NotificationManager来对通知进行管理,可以调用Context的getSystemService()方法获取到。getSystemService()接收的参数为Context.NOTIFICATION_SERVICE。

    NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
    
  • 创建一个Notification对象这个对象用于存储通知所需的各种信息
    • 第一个参数用于指定通知的图标
    • 第二个参数用于指定通知的 ticker 内容
    • 第三个参数用于指定通知被创建的时间,以毫秒为单位
      Notification notification = new Notification(R.drawable.icon,"This is ticker text"</span>,System.currentTimeMillis());
      
  • 调用Notification的setLatestEventInfo()方法可以给通知设置一个标准布局
    • 第一个参数是 Context
    • 第二个参数用于指定通知的标题内容,下拉系统状态栏就可以看到这部分内容
    • 第三个参数用于指定通知的正文内容
    • 第四个参数为PendingIntent
      notification.setLatesEventInfo(context,"This is content title","This is content text",pendingIntent);
  • 调用NotificationManager的notify()方法可以让通知显示出来
    manager.notify(1,notification);
  • NotificationManager的cancel()方法可以取消通知
  • #### PendingIntent
  • Intent更加倾向于去立即执行某个动作,而PendingIntent更加倾向于在某个合适的时机去执行某个动作。
  • PendingIntent简单的理解为延迟执行的Intent。
  • 获取PendingIntent的方法:getActivity()、getBroadcast()、getService()。
    • 第一个参数依旧是 Context
    • 第二个参数一般用不到,通常都是传入 0 即可
    • 第三个参数是一个 Intent 对象,我们可以通过这个对象构建出 PendingIntent 的“意图” 。
    • 第四个参数用于确定 PendingIntent 的行为,有FLAG_ONE_SHOT、 FLAG_NO_CREATE、 FLAG_CANCEL_CURRENT 和 FLAG_UPDATE_CURRENT 这四种值可选,

通知的高级技巧

  • sound属性可以在通知里播放一段音频

    Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));
    notification.sound = soundUri;
    
  • vibrate属性可以让手机进行振动

    long[] vibrate = {0,1000,1000,1000};

    notification.vibrate = vibrates;

  • 控制手机的LED灯显示
    • edARGB 用于控制 LED 灯的颜色
    • ledOnMS 用于指定 LED 灯亮起的时长,以毫秒为单位
    • ledOffMS用于指定 LED 灯暗去的时长,也是以毫秒为单位
    • flags 可用于指定通知的一些行为,其中就包括显示 LED 灯这一选项
    notification.ledARGB = Color.GREEN;
    notification.ledOnMS = 1000;
    notification.ledOffMS = 1000;
    notification.flags = Notification.FLAG_SHOW_LIGHTS;

播放多媒体文件

播放音频

播放视频

时间: 2024-10-27 10:48:32

丰富你的程序,运用手机多媒体的相关文章

第一个 WP 程序 : 手机条码扫描枪

前言碎语: 前段时间,我第一时间尝试了 Windows 8.1 update1 , 结果把我硬盘搞挂了! 升级之后,硬盘一直是100%,平均响应时间能高达400多毫秒. 我自认为我的配置还不错,AMD的4核推土机,8G金仕顿骇客神条, 1T的希捷单碟,两年多点,以前跑 WIN7 / WIN8 / WIN 8.1 都不带眨眼的,怎么遇到TMD Win 8.1 update 1 就变成渣了呢?基本每次启动都要自动修复一下,开机后在磁盘管理里还提示有危险.用检查工具检查了一下,有二十多个坏道,但是没办

Android -- 程序判断手机ROOT状态,获取ROOT权限

判断手机是否具有ROOT权限                                                            /** * 判断手机是否ROOT */ public boolean isRoot() { boolean root = false; try { if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exi

微信小程序和手机APP之间的对比

微信小程序不是一个独立的应用程序.微信计划上线后,微信将向更大的平台移动.它可以成为PC网络导航等移动电话应用的新里程碑.在这里,我们将回答微信小程序和手机APP游戏之间的区别,以及它们的优缺点.只有当你理解清楚,你才能知道是开发一个独立的应用程序还是直接使用微信小程序. 哪个更好,威查应用还是独立应用? 除了公共开发成本低,采集成本低,无需下载外,小程序大大改善了服务请求延迟和用户体验,使其能够承载复杂的服务功能.并为用户提供更好的用户体验. 与本机应用程序applet相比,它的使用体验几乎相

运用手机多媒体

1.使用通知 1.1简介 通知指的是某个应用程序希望想用户发出一些提示信息,而该应用程序又不在前台运行时,就需要借助通知来实现. 1.2通知的基本用法 步骤: 1)实例化NotificationManager 2)设置PendingIntent用于跳转活动,发送广播,启动服务. (该方法有四个参数,一个参数是context,第二个参数一般用不到,通常传入0即可,第三个参数是Intent对象,第四个参数用于确认PendingIntent的行为,有FLAG_ONE_SHOT.FLAG_NO_CREA

Android应用程序模拟手机按键

记得以前在做一个C++项目时,需要在某一步操作之后人为用代码模拟敲键盘上的回车键(Enter)效果. 出于好奇,这几天研究了一下Android中手机(或平板)上各种按键的键值.模拟方法及最终效果. 1.先来看看Android中对按键和值的定义方式: 1 public static final int KEYCODE_UNKNOWN = 0; 2 /** Key code constant: Soft Left key. */ 3 public static final int KEYCODE_S

【Android】如何实现Android程序在手机锁屏后继续运行

最近笔者在做一个功能,就是实现Android程序在锁屏后可以继续运行,笔者在网上查了一些资料,现在整理出来,希望能够对你有所帮助. 1.如何监听屏幕锁屏 监听屏幕锁屏可以通过如下方式来实现,直接通过代码来判定,或通过监听器来实现 1)通过代码来判定屏幕的锁屏状态 可以通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

vs2015部署Win10m程序到手机出现“0x80073CFD”错误解决方案

在vs2015 RC中创建了Windows Universal程序,部署到手机时发生以下异常导致程序无法部署: Error: DEP0001 : Unexpected Error: A Prerequisite for an install could not be satisfied. (Exception from HRESULT: 0x80073CFD) 解决方案: 在 Package.appxmanifest, 更改 TargetDeviceFamily: <TargetDeviceFa

第一次发博,发个简单的Java程序发送手机短信验证

最近在准备一个项目,想的登录时候用手机验证,就通过上网查阅了一下手机验证的实现方法,原来超级简单,下面将一步一步介绍. 1.去中国网建注册一个账号密码,首次注册送五条免费短信和3条免费彩信.具体的网址是 http://www.smschinese.cn/api.shtml 2.注册完成之后进去查看给你的短信秘钥 3.有了这个秘钥就超级简单了,导入jar包,下面的代码第一个基本不用该,直接粘贴,第二个改成自己的信息就可以了 1 package duanxinyanzheng; 2 3 4 impo

Android 推断程序在手机中是否是活动状态或者正在执行状态

沈阳斌子在今天项目需求上碰到个这种问题,在Service中须要推断当前的程序是否是活动状态,换句话说也就是说后台跑的服务中有业务需求检測当前程序是否是该服务的程序 这样好让点击推送通知时跳转到不同的页面进行不同的操作. 以下就粘贴出我封装了一下的方法和大家共享. /** * * @Description : 这个包名的程序是否在执行 * @Method_Name : isRunningApp * @param context 上下文 * @param packageName 推断程序的包名 *