现在的位置: 首页 > 软件开发
0℃
最简单的监测设备状态变更的做法就是为每一个状态的变化都创建一个对应的 BroadcastReceiver ,然后在 BroadcastReceiver 的实现代码中,取得设备当前的状态来调整应用程序的运行任务。 但是这样做有一个缺点就是可能您的应用程序会过于频繁的唤醒设备来处理状态的变更,这往往不是您期待的结果。 一个更好的解决办法就是在程序的运行过程中动态的启用和禁用广播事件接收器,这样您就可以只启用目前最关心的广播事件接听器,而禁用掉现在并不需要的事件接听器。 动态切换和级联事件接器 您可以使用 PackageManage...
阅读全文
0℃
设定周期性的闹铃提醒和后台服务,最常见的用途是定期更新应用程序的数据,从互联网上下载资源,缓存数据或者执行长时间的下载任务。但是如果设备当前没有连接到网络,或者是网络状况不稳定,连接太慢,不能正常完成数据的下载任务,那么此时仍需要唤醒设备来更新数据么? 您可以通过 ConnectivityManager 来检查设备当前是否连接到了网络,如果已连接,具体是连接到哪种类型的网络。 检测网络连接状态 如果设备当前没有连接到任何网络,那么您的应用程序也就没有必要安排定时的数据更新任务。 示例代码展示了如...
阅读全文
0℃
Android 设备可以接在不同类型的 Dock 底座中,其中包括车载的,家用的,以及数字的和模拟的。许多 Dock 基座都能为接在其上面的设备供电,所以,“dock-state”(Dock状态)也通常是接入设备的充电状态。 Dock 状态的变化如何影响您应用程序的服务更新速度取决于您应用程序的设计。假如是一个获取体育赛况的应用程序,那么在 “desktop dock” 状态时,可以提高其数据的更新频率,而当在 “car docked” 状态时,可以完全禁用数据的更新。相反,假如该应用程序是用来获取当前交通路况的,那么就应当在“car docked” 状...
阅读全文
0℃
通过检查设备当前的电池电量和充电状态,然后适当改变后台服务的更新频率,可以有效降低电量的消耗。所以您的应用程序的更新频率也应当根据设备当前的电池电量和充电状态来进行动态调整。 通常情况下,当设备在充电的过程中,可以提高应用程序的数据更新频率,因为此时电池电量的消耗相较于充电的过程耗费很小,基本可以忽略。相反,如果电池是在正常的使用过程中,那么应当合理调整应用程序的更新频率,不能更新太频繁,这样有助于延长电池的使用寿命。 同时,应用程序应当一直监视设备电量的状态变化,在设备电...
阅读全文
0℃
2011年12月22日 移动开发 ⁄ 被围观 4,166+
Android 系统通常支持多种音频设备,常见的有手机内置扬声器,插孔式有线耳机,蓝牙 A2DP(蓝牙立体声音频传输规范(A2DP))设备。 获取当前正在播放音频的硬件信息 使用不同的硬件设备可能会影响您应用程序的设计方式,您可以通过 AudioManager 来查询当前正在播放音频的硬件设备信息,是内置扬声器,还是有线耳机,或者是蓝牙设备。 示例代码如下: if (isBluetoothA2dpOn()) { // Adjust output for Bluetooth. 蓝牙设备 } else if (isSpeakerphoneOn()) { // Adjust output for Speakerphone. 内置扬...
阅读全文
0℃
2011年12月21日 移动开发 ⁄ 被围观 4,478+
因为系统中可能会有多个应用程序会播放音频,所以需要考虑他们之间该如何交互,为了避免多个应用程序同时播放音乐,Android 系统使用音频焦点来进行统一管理,即只有获得了音频焦点的应用程序才可以播放音乐。 您的应用程序在开始播放音频文件前,首先应该请求获得音频焦点,并且应该同时注册监听音频焦点的丢失通知,即如果音频焦点被系统或其他的应用程序抢占时,您的应用程序可以做出合适的响应。 获取音频焦点 您的应用程序在开始播放任何音频之前,首先应该持有流的音频焦点。 可以通过调用 requestAudioFoc...
阅读全文
0℃
识别音频流 创造优秀音频体验的第一步是了解您的应用程序将使用的音频流类型。 Android 系统保持相互独立的音频流通道来播放音乐,报警,通知,来电铃声,系统声音,呼叫(通话)音量,和 DTMF 音调(键盘拨号)。 这样做主要是为了使用户能够独立地控制每个流的音量。 多数的流仅限于系统事件,所以,除非您的应用程序是要更换闹钟,否则几乎可以肯定的是使用 STREAM_MUSIC 音频流。 使用硬件音量按键来控制应用程序的音量 默认情况下,按音量键控制修改当前获得焦点的音频流的音量。假如您的应用程序当前不是正...
阅读全文
1℃
2011年11月02日 移动开发 ⁄ 被围观 6,444+
前面一篇文章 《移动 APP 之跨平台解决方案》介绍了一种跨平台的解决方案,即用开发web app的方式来编写mobile app。鉴于PhoneGap才刚刚新起,还有许多功能因为平台的差异性无法很好的解决,所以我们在实际的开发中,发现有很多功能还需要完善,一种比较好的方式就是编写平台依赖的插件,进而扩展PhoneGap的功能。 本文介绍一下开发和使用插件的一个流程,以 VideoPlayer 为例。 环境搭建,下载 phonegap-android 的源码,下载地址 https://github.com/phonegap/phonegap-plugins 编写video.js,提供给web开发端...
阅读全文
×
腾讯微博