- 浏览: 677122 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
一、取得电池电量信息
在 Android 系统中,专门提供了一个取得电池电量信息的 Action—ACTION_BATTERY_CHANGED ,在此 Action 中定义了许多附加信息,这些附加信息的名称及作用如下:
No. |
附加信息 |
类型 |
备注 |
1 |
status |
int |
取得电池的状态,返回的状态类型由 android.os.BatteryManager 类定义的常量所决定,包括: ·电池充电状态( BATTERY_STATUS_CHARGING ) ·电池放电状态( BATTERY_STATUS_DISCHARGING ) ·电池满电状态( BATTERY_STATUS_FULL ) ·电池不充电状态( BATTERY_STATUS_NOT_CHARGING ) ·电池未知状态( BATTERY_STATUS_UNKNOWN ) |
2 |
health |
int |
取得电池的健康状态,返回的状态类型由 android.os.BatteryManager 类定义的常量所决定,包括: ·电池损坏( BATTERY_HEALTH_DEAD ) ·电池健康( BATTERY_HEALTH_GOOD ) ·电池过热( BATTERY_HEALTH_OVERHEAT ) ·电池电压过大( BATTERY_HEALTH_OVER_VOLTAGE ) ·未知状态( BATTERY_HEALTH_UNKOWN ) ·未明示故障( BATTERY_HEALTH_UNSPECIFIED_FAILURE ) |
3 |
present |
boolean |
判断当前是否存在电池 |
4 |
level |
int |
取得电池的剩余容量 |
5 |
scale |
int |
取得电池的总容量,通常为 100 |
6 |
Icon-small |
int |
取得电池对应的图标 ID |
7 |
plugged |
int |
连接的电源插座累心,返回的状态由 android.os.BatteryManager 类定义的常量所决定,包括: · USB 电源( BATTERY_PLUGGED_USB ) ·交流电电源( BATTERY_PLUGGED_AC ) |
8 |
voltage |
int |
取得电池的电压 |
9 |
temperature |
int |
取得电池的温度,单位是摄氏度 |
10 |
technology |
String |
取得电池的类型 |
范例:取得剩余电量
定义广播接受,显示电池电量, BatteryInfoBroadcastReceiver.java
package com.iflytek.demo; import android.app.AlertDialog; import android.app.Dialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; public class BatteryInfoBroadcastReceiver extends BroadcastReceiver {// 广播接收器 @Override public void onReceive(Context context, Intent intent) {// 接受广播 if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {// 判断Action int level = intent.getIntExtra("level", 0);// 取得电池剩余容量 int scale = intent.getIntExtra("scale", 100);// 取得电池总理 Dialog dialog = new AlertDialog.Builder(context)// 创建对话框 .setTitle("电池电量")// 设置标题 .setMessage( "电池电量为:" + String.valueOf(level * 100 / scale) + "%")// 设置信息 .setNegativeButton("关闭", new DialogInterface.OnClickListener() {// 设置取消按钮 @Override public void onClick(DialogInterface dialog, int which) {// 设置监听操作 } }).create();// 创建Dialog dialog.show();// 显示对话框 } } }
BatteryActivity.java
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class BatteryActivity extends Activity { private Button but = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.but = (Button) super.findViewById(R.id.but); this.but.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { BatteryInfoBroadcastReceiver receiver = new BatteryInfoBroadcastReceiver(); IntentFilter filter = new IntentFilter( Intent.ACTION_BATTERY_CHANGED); BatteryActivity.this.registerReceiver(receiver, filter); } } }
二、声音服务: AudioManager
在 Android 系统中,为了满足用户操作声音功能的需要,专门提供了一个声音管理类 —android.media.AudioManager ,通过此类,可以实现手机音量的大小控制,或者进行静音、震动模式的切换。此类中所提供的常量及常用方法如下:
No. |
常量及方法 |
描述 |
1 |
Public static final int RINGER_MODE_NORMAL |
正常铃声模式 |
2 |
Public static final int RINGER_MODE_SILENT |
静音模式 |
3 |
Public static final int RINGER_MODE_VIBRATE |
震动模式 |
4 |
Public static final int STAREAM_ALARM |
报警音 |
5 |
Public static final int STAREAM_MUSIC |
播放音乐 |
6 |
Public static final int STAREAM_NOTIFICATION |
播放提示 |
7 |
Public static final int STAREAM_RING |
电话铃声 |
8 |
Public static final int STAREAM_VOICE_CALL |
电话呼叫 |
9 |
Public static final int VIBRATE_SETTING_ON |
打开震动 |
10 |
Public static final int VIBRATE_SETTING_ON |
通知震动 |
11 |
Public static final int VIBRATE_TYPE_RINGER |
电话响铃震动 |
12 |
Public static final int ADJUST_LOWER |
电话音量调小一格 |
13 |
Public static final int ADJUST_RAISE |
电话音量调大一格 |
14 |
Public int abandonAudioFocus(AudioManager.OnAudioFocusChangeListener l) |
放弃声音的焦点并设置监听 |
15 |
Public String getParameters(String keys) |
返回配置的指定参数内容 |
16 |
Public int getRingerMode() |
取得响铃模式 |
17 |
Public void setParameters(String keyValuePairs) |
设置响铃参数 |
18 |
Public void setRingerMode(int ringerMode) |
设置响铃模式 |
19 |
Public void adjustVolume(int direction,int flags) |
调节音量 |
20 |
Public int getStreamVolume(int streamType) |
返回指定数据流的当前音量值 |
21 |
Public void setStreamVolume(int streamType,int index,int flags) |
设置音频数据流 |
如果想取得 AudioManager 对象,则必须通过 getSystemService() 方法找到 Context.AUDIO_SERVICE 服务。
范例:完成设置手机铃声和音量的增加或减少
AudioManagerActivity.java
package com.iflytek.demo; import android.app.Activity; import android.content.Context; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.Toast; public class AudioManagerActivity extends Activity { private ImageButton voiceOn = null;// 打开声音 private ImageButton voiceOff = null;// 静音按钮 private ImageButton voiceVibrate = null;// 震动按钮 private ImageButton voiceLower = null;// 降低音量 private ImageButton voiceRaise = null;// 调高音量 private AudioManager audio = null;// 音量管理 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.voiceOn = (ImageButton) super.findViewById(R.id.voiceon); this.voiceOff = (ImageButton) super.findViewById(R.id.voiceoff); this.voiceVibrate = (ImageButton) super.findViewById(R.id.voicevibrate); this.voiceLower = (ImageButton) super.findViewById(R.id.voicelower); this.voiceRaise = (ImageButton) super.findViewById(R.id.voiceraise); this.audio = (AudioManager) super .getSystemService(Context.AUDIO_SERVICE);// 取得服务 this.voiceOn.setOnClickListener(new VoiceOnOnClickListenerImpl()); this.voiceOff.setOnClickListener(new VoiceOffOnClickListenerImpl()); this.voiceVibrate .setOnClickListener(new VoiceVibrateOnClickListenerImpl()); this.voiceLower.setOnClickListener(new VoiceLowerOnClickListenerImpl()); this.voiceRaise.setOnClickListener(new VoiceRaiseOnClickListenerImpl()); this.playAudio(); } /** * @descrption 播放音乐 * @author xdwang * @create 2012-11-05 下午8:55:38 */ private void playAudio() { MediaPlayer media = MediaPlayer.create(this, R.raw.shiqisuideyuji);// 指定资源 media.setLooping(true);// 循环播放 try { media.prepare();// 预备状态 } catch (Exception e) { } media.start();// 播放文件 } private class VoiceOnOnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { AudioManagerActivity.this.audio .setRingerMode(AudioManager.RINGER_MODE_NORMAL); Toast.makeText(AudioManagerActivity.this, "手机音量开启!", Toast.LENGTH_SHORT).show(); } } private class VoiceOffOnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { AudioManagerActivity.this.audio .setRingerMode(AudioManager.RINGER_MODE_SILENT); Toast.makeText(AudioManagerActivity.this, "手机静音!", Toast.LENGTH_SHORT).show(); } } private class VoiceVibrateOnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { AudioManagerActivity.this.audio .setRingerMode(AudioManager.RINGER_MODE_VIBRATE); Toast.makeText(AudioManagerActivity.this, "手机为震动模式!", Toast.LENGTH_SHORT).show(); } } private class VoiceLowerOnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { AudioManagerActivity.this.audio.adjustVolume( AudioManager.ADJUST_LOWER, 0); Toast.makeText(AudioManagerActivity.this, "音量减小!", Toast.LENGTH_SHORT).show(); } } private class VoiceRaiseOnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { AudioManagerActivity.this.audio.adjustVolume( AudioManager.ADJUST_RAISE, 0); Toast.makeText(AudioManagerActivity.this, "音量增加!", Toast.LENGTH_SHORT).show(); } } }
发表评论
-
This version of ADT requires android SDK
2013-07-25 16:45 1604Windows系统下用Eclipse开发工具开发An ... -
Android学习13-----网络通信(4) WebView组件
2012-11-27 09:18 2523WebView 是一个开发的浏览 ... -
Android学习13-----网络通信(3) 与Web Service进行通讯
2012-11-26 09:40 1901这里我们的WebService使用xFire开发。 ... -
Android学习13-----网络通信(2) 与Socket交换数据
2012-11-23 09:11 3313对于网络开发而言,最常用的交互模式:WebService、We ... -
Android学习13-----网络通信(1) 与WEB服务器交换数据
2012-11-22 09:11 2198与Web服务器交互: 如果手机要想与 web ... -
Android学习11-----多媒体技术(5) 媒体录制
2012-11-16 08:10 1898在Android中通过android.media ... -
Android学习11-----多媒体技术(4) 使用摄像头拍照,多点触控
2012-11-15 08:37 2896一、摄像头拍照 前面说媒体播放 时了解了 ... -
Android学习11-----多媒体技术(3) 媒体播放
2012-11-14 08:25 1422在 Androi ... -
Android学习11-----多媒体技术(2) Animation
2012-11-13 08:47 2002一、渐变动画, Tweened Animation ... -
Android学习11-----多媒体技术(1) 绘制简单图形,Bitmap,Matrix
2012-11-12 08:48 1631一、绘制简单图 ... -
Android学习12-----手机服务(4) 传感器
2012-11-19 09:13 2025传感器一般用于游戏中,在 Android 系统中为 ... -
Android学习10-----Android组件通信 (8) 桌面显示组件:AppWidget
2012-11-02 08:36 2044一、 AppWidget 在使用 Androi ... -
Android学习10-----Android组件通信 (7) 广播机制:Broadcast
2012-11-01 08:43 1522一、 广播: 广播也是一种信息的发送机制,在 ... -
Android学习10-----Android组件通信 (6) PendingIntent
2012-10-31 08:20 2276Intent 的主要功能是表示用 ... -
Android学习10-----Android组件通信 (5) Service
2012-10-30 08:25 1747Service 基本组成: ... -
Android学习10-----Android组件通信 (4) 消息机制
2012-10-29 08:22 1560在 Android 操作系统中存在着消息队列的操作 ... -
Android学习10-----Android组件通信 (3) ActivityGroup
2012-10-26 08:23 2340导航栏在 Android 中的应用是很常见的,前面 ... -
Android学习10-----Android组件通信 (2) Activity生命周期
2012-10-25 08:16 1292Activity 是整个 Android 平台的基 ... -
Android学习10-----Android组件通信 (1) Intent
2012-10-24 08:43 2027在一个项目之中,会由多个 Activity ... -
Android判断是否有网络连接
2013-04-25 16:34 1447Android中判断有时候因为功能的需求,需要判断是否有网络 ...
相关推荐
在Android程序设计中,AudioManager是一个至关重要的组件,它负责管理设备的音频输出,包括控制音量、处理音频流和管理音频焦点。本篇将详细阐述AudioManager的主要功能及其使用方法。 首先,AudioManager的实例化...
`AudioManager`是Android系统中的一个关键组件,用于管理和控制设备的音频输出。`setMode`方法是`AudioManager`中的一个重要接口,用于设定当前的音频模式,这直接影响到音频的路由和电话服务层的行为。在不同的音频...
- **Audio系统架构**:Android音频系统的设计目的是为了提供一套高效且灵活的音频处理框架,支持多种音频格式的播放和录制。它主要包括三个层级:应用程序层、核心库层以及硬件抽象层(HAL)。 - **代码路径**: -...
AudioManager设置声音模式和调整声音大小的方法。 如何获取声音管理器: AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 里面主要的方法: A、设置声音模式 //声音模式 ...
`AudioManager`处理音频输入和输出,确保高质量的语音通话体验。 2. **com.sinch.android.rtc.audio**:这部分源码涉及音频处理,包括音频编解码、回声消除、噪声抑制等。例如,`AudioStream`类处理音频流的发送和...
这个过程涉及到Android的音频框架,它是一个复杂的系统级服务,负责处理音频输入和输出。本篇文章将深入探讨如何在Android应用中实现听筒、外放和蓝牙耳机之间的音频设备切换。 首先,我们需要理解Android音频框架...
`AudioManager` 是 Android 操作系统中的一个核心类,用于管理和控制系统的音频输出。通过 `AudioManager`,开发者可以调整音量大小、控制扬声器输出以及处理与音频相关的事件。该类继承自 `java.lang.Object` 并...
《Unity3d声音管理插件AudioManager详解》 在Unity3d游戏开发中,音频管理是不可或缺的一部分。它涉及到游戏中的各种声音效果,如角色动作声、环境背景音乐、UI反馈音等。Papae.AudioManager就是一款专为Unity3d...
### Android Audio架构详解 #### 一、概述 在Android系统中,音频处理是十分关键的部分,它涉及到多媒体应用中的声音播放、录制等多个方面。本文旨在通过解析一份关于Android音频架构的文档来帮助开发者更好地理解...
在Android源码的基础上分析 音频文件的的扫描,系统铃声的管理以及情景模式的切换
- **多媒体框架**:利用Android的Media Framework API来处理音频播放,包括AudioManager、MediaPlayer等,实现音频的加载、解码和播放。 4. **源代码分析**: 文件名"SpongeBobSun-Prodigal-298d851"可能是项目的...
一种在 Unity 中播放和管理多种不同声音的简单、通用的方法。 只需一行代码即可播放“Resources”文件夹中的声音文件! AudioManager . Main . PlayNewSound ( " GotNewItem " ); 安装 将 AudioManager.cs 和 ...
4. **Intent**和广播接收器:Android系统通过Intent进行组件间通信。例如,当媒体文件的播放状态改变时,可以通过BroadcastReceiver来监听并做出相应处理,比如在通知栏更新播放状态。 5. **异步加载和线程管理**:...
Android提供了KeyStore系统服务,可以生成和管理加密密钥,结合对称加密算法(如AES)来保护敏感数据。 - 另外,应用可能需要请求读写存储权限,以便存取日记文件。 5. **权限管理**: - 在AndroidManifest.xml...
在本Android项目实战中,我们将深入探讨如何实现手机卫士的核心功能——拦截黑名单及处理响一声电话的问题。手机卫士是一种常见的应用,旨在提供安全防护,帮助用户管理来电和短信,尤其是那些来自未知或不受欢迎...
- **实时流量统计**:Android提供了ConnectivityManager和NetworkStatsManager服务,可以获取网络流量数据。ConnectivityManager获取网络状态,NetworkStatsManager获取详细的流量统计信息,如应用级别的上传/下载...
- `MediaPlayer`:Android内置的音频播放API,可以处理多种音频格式,如MP3、AAC等。它提供了播放、暂停、停止、快进、倒退等基本操作,并支持流媒体播放。 - `AudioManager`:用于系统音频设置的管理,如音量控制...
1. **MediaPlayer**:这是Android提供的一个核心组件,用于播放音频和视频文件。要播放报警声音,首先需要创建`MediaPlayer`对象,然后加载音频资源。资源可以是应用内嵌的raw资源,也可以是从网络或本地文件系统...
这里,`android:id`用于标识该SeekBar,`android:layout_width`和`android:layout_height`定义了控件的大小,`android:max`设置SeekBar的最大值。 三、 设置音量值 Android系统提供了AudioManager类来管理音频相关...
在Android手机中,我们同样可以通过Android的SDK提供的声音管理接口来管理手机声音模式以及调整声音大小,这就是Android中AudioManager的使用。 AudioManager 类位于 android.Media 包中,该类提供访问控制音量和...