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>

Android 应用开发实例之情景模式的更多相关文章

  1. android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)

    如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http:// ...

  2. Android NDK开发实例教程

    WINDOWS系统+ Eclipse + NDK+Android 最近开始学习Android平台开发,Android还没有玩转,Java也是刚入门,这又要开始在Android中调用C语言,需要利用ND ...

  3. Android应用开发中的夜间模式实现(一)

    前言 在应用开发中会经常遇到要求实现夜间模式或者主题切换具体例子如下,我会先讲解第一种方法. 夜间模式 知乎 网易新闻 沪江开心词场 Pocket 主题切换 腾讯QQ 新浪微博 我今天主要是详述第一种 ...

  4. Android计算器开发实例

    Android简单计算器开发实例如图: ==================================================== activity_main.xml 代码如下: < ...

  5. android 浏览器开发实例

    android app需要通过手机显示网页信息还是比较常用的,比如我最近业余开发的 抢商铺游戏,需要对游戏规则做说明,规则会比较多,而且要经常变动,就想到用网页来展示,更新起来方便,不像应用,一旦发布 ...

  6. Android应用开发实例篇(1)-----简易涂鸦板

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378328.html 一.概述 这次要做一个简单的涂鸦板应用,以前在Qt上实现过,突然想 ...

  7. Android网络开发实例(基于抓包实现的网络模拟登录,登出和强制登出)

    学习Android有几个月了,最近喜欢上了网络编程,于是想通过Android写一些一个小程序用于连接外网.在这里非常感谢雪夜圣诞的支持,非常感谢,给我打开新的一扇门. 1.声明,本程序只能用于西南大学 ...

  8. Android 应用开发实例之文件管理器

    2013-07-02 10.2 文件管理器 能够浏览和管理手机/存储卡上的文件和文件夹,包括重命名.删除.新建.复制.粘帖等文件操作. 由于需要浏览大量的文件/文件夹,所以需要使用一个ListView ...

  9. Android NFC开发概述

    NFC手机相比普通手机来说,有以下3个附加功能:  1.可以当成POS机来用,也就是“读取”模式   2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能  3.可以像蓝牙.Wi-Fi一样做点 ...

随机推荐

  1. kali下更新软件时,总是报错,说下列签名无效 解决办法

    解决办法就是重新获取下签名key wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add

  2. wait, WIFEXITED, WEXITSTATUS

    wait, WIFEXITED, WEXITSTATUS     偶尔翻到了这几个关键字,找到个文章复习了下:“点我”.记录下: wait的函数原型是: #include <sys/types. ...

  3. sql中字符分割,日期判断,以及函数的应用

    前两天公司有一个功能需求,客户给出几天的工作时间和休息,然后顾客的访问时间必须要在工作时间之内和休息时间之外,所以要求做一下判断.本来以为这个没什么,谁知道客户提供的工作时间段和休息时间段不定,给出的 ...

  4. mui 图片预览

    1. 图片放大滑动预览需要    mui.zoom.js   mui.previewimage.js 2. 调用  mui.previewImage(); 3. 滑动过程中禁止图片缩放  注释掉下面代 ...

  5. Windows蓝屏dump文件查看器(转)

    Windbg-分析Windows蓝屏原因利器[转]下载地址先声明下,虽然用windbg诊断蓝屏之前网络上已经有人发过教程了,但就我而言, 学会使用windbg来诊断蓝屏也算是自己的原创吧.以前看一个微 ...

  6. 解决sqoop报错:SQLServerException: 将字符串转换为 uniqueidentifier 时失败。

    报错栈: Error: java.io.IOException: Cannection handler cannot recover failure: at org.apache.sqoop.mapr ...

  7. .aspx(或.asp)文件与.html(.htm)文件的区别与联系

    由于都是用于描述网页文档的文件,自学asp.net起就对两者之间的关系很好奇 主要的区别在于,当用户请求页面时,它们在服务器的端的处理不同 下图解释客户端请求页面时,服务器端的处理流程: .html文 ...

  8. javascript学习笔记------概念相关

    javascript中的函数.对象 1. 在javascript中,函数是被当成一种数据类型,它可以被存储在一个变量.数组.对象中,可以被当作参数传递到另一个函数中. 函数就像是字符串和数字这样的的数 ...

  9. css3新单位vw、vh、vmin、vmax的使用介绍

    1,vw.vh.vmin.vmax 的含义 (1)vw.vh.vmin.vmax 是一种视窗单位,也是相对单位.它相对的不是父节点或者页面的根节点.而是由视窗(Viewport)大小来决定的,单位 1 ...

  10. RS报表设计采用Total汇总过滤出错

    错误信息: DMR 子查询计划失败,并产生意外错误.: java.lang.NullPointerException 如图 原因是在RS过滤器中添加了: total([门诊人次] for [明细科室] ...