博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 应用开发实例之情景模式
阅读量:5986 次
发布时间:2019-06-20

本文共 2469 字,大约阅读时间需要 8 分钟。

2013-07-01

Android 应用开发实例

1. 情景模式

使用TabHost来实现主界面的布局。

设置一组RadioButton来切换不同的情景模式。

对比普通情景模式定时情景模式需要加上一个TimPicker来显示并设置时间。

自定义情景模式需要自己定义声音的大小。

调节声音的大小、静音、振动等。

// 获得一个AudioManager对象

AudioManager audioMgr = Context.getSystemService(Context.AUDIO_SERVICE);

// AudioManager常量

AUDIO_LOWER

AUDIO_RAISE

AUDIO_SAME

EXTRA_RINGER_MODE

EXTRA_VIBRATE_SETTING

EXTRA_VIBRATE_TYPE

FLAG_PLAY_SOUND

FLAG_VIBRATE

MODE_INVALID

MODE_IN_CALL

MODE_NORMAL

MODE_RINGTONE

// AudioManager方法

adjustVolume

getMode

getRingerMode

getStreamMaxVolume

isSpeakerPhoneOn

loadSoundEffects

playSoundEffect

setMicroPhoneMute

setMode

setRingerMode

setSpeakerPhoneOn

setVibrateSetting

// 设置铃声+振动

audioMgr.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);

audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON);

// 设置静音模式

audioMgr.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);

audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);

// 注册一个定时器

AlarmManager.set(int type, long triggerAtTime, PendingIntent operation);

// 得到一个PendingIntent

PendingIntent.getActivity(Context, int, Intent, int);

PendingIntent.getBroadcast(Context, int, Intent, int);

PendingIntent.getService(Context, int, Intent, int);

// 创建并注册一个定时器

public void ring() {

  Intent it = new Intent(RingBroadcastReceiver.RING_CHANGED);

  it.putExtra(“checkedId”, R.id.ring02);

  PendingIntent pIt = PendingIntent.getBroadcast(this, RingBroadcastReceiver.REQUEST_CODE, it, 0);

  alarmMgr.set(AlarmManager.RTC_WAKEUP, getTime(), pIt);

}

// 创建广播接收器

public class RingBroadcastReceiver extends BroadcastReceiver {

  public void onReceiver(Context context, Intent it) {   

  }

}

// 处理UI事件

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup02);

radioGroup.setOnCheckedChangeListener(new OnCheckedChangedListener() {

  public void onCheckedChanged(RadioGroup group, int checkedId) {

  }

});

// 在Manifest文件中注册广播接收器

<receiver android:name=”RingBroadcastReceiver”>

  <intent-filter>

    <action android:name=”com.example.ring.RingProfile.RV_CHANGED” />

    <action android:name=”com.example.ring.RingProfile.RING_CHANGED” />

    <action android:name=”com.example.ring.RingProfile.VIBRATE_CHANGED” />

    <action android:name=”com.example.ring.RingProfile.SILENT_CHANGED” />

  </intent-filter>

</receiver>

转载地址:http://byylx.baihongyu.com/

你可能感兴趣的文章
【SQL 性能优化】表的三种连接方式
查看>>
spark1.3.0__for_hadoop2.4.1编译、安装与初步测试
查看>>
利用perl计算列表中高于平均值的数字
查看>>
我的友情链接
查看>>
做了「负载均衡」就可以随便加机器了吗?这三招来帮你!
查看>>
discuz后台权限管理
查看>>
数据库同步热备方案(武汉某医院)
查看>>
vb.net制作简单的下拉菜单
查看>>
mockito_mock测试
查看>>
linux 下的postfix的搭建
查看>>
Content-type 的说明 ,即 HTTP请求头的类型有哪些?
查看>>
CISSP-CBK十大知识体系
查看>>
使用JMeter进行负载测试——终极指南
查看>>
MYSQL的InnoDB Buffer Pool内部机制
查看>>
部署 dubbo + zookeeper
查看>>
sql重写后比较是否一致
查看>>
python模块pymysql
查看>>
IOS UIScrollView详解 & 图片缩放功能
查看>>
正确计算linux系统内存使用率
查看>>
CentOS7同步远程yum源到本地
查看>>