Android 情景模式设置

情景模式的设置大家应当相当熟悉了,但是在Android中如何通过自己的程序进行情景模式的设置呢,情景模式分为多种多种,即可以使用系统自带的,也可 以使用自定义的,但是在开发某些程序时,可能需要在程序中更改情景模式,那么此就需要进行情景模式的设置。下面简单介绍一下情况模式的设置方式:
首先获取当前的情景模式:
代码

复制代码 代码如下:

void getInitring(AudioManager audio)
    {
          //取得手机的初始音量,并初始化进度条
        int volume=audio.getStreamVolume(AudioManager.STREAM_RING);  //取得初始音量
        //取得初始模式,并分别设置图标
        int mode=audio.getRingerMode();  //取得初始模式
    }

通过此代码,当然需要再加工一下,那么就可以得到当前的情景模式,为以后的设置做一下准备,然后也可能知道要不要再次设置。
设置情景模式一:只声音,无振动:
代码

复制代码 代码如下:

void ring(AudioManager audio) {
        audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
                AudioManager.VIBRATE_SETTING_OFF);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
                AudioManager.VIBRATE_SETTING_OFF);
        Toast.makeText(this, "设置成功!当前为铃声", Toast.LENGTH_LONG).show();
    }

设置后系统只有声音,没有振动。
设置情景模式二:即有声音也有振动:
代码

复制代码 代码如下:

void ringAndVibrate(AudioManager audio) {
        audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
                AudioManager.VIBRATE_SETTING_ON);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
                AudioManager.VIBRATE_SETTING_ON);
        Toast.makeText(this, "设置成功!当前为铃声加振动", Toast.LENGTH_LONG).show();
    }

这样设置后,在发声的时候同时也会有振动提醒。
设置情景模式三:只能振动:
代码

复制代码 代码如下:

void vibrate(AudioManager audio) {
        audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
                AudioManager.VIBRATE_SETTING_ON);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
                AudioManager.VIBRATE_SETTING_ON);
        Toast.makeText(this, "设置成功!当前为振动", Toast.LENGTH_LONG).show();
    }

此设置后只有振动,没有声音:
设置情景模式四:无声无振动:
代码

复制代码 代码如下:

void noRingAndVibrate(AudioManager audio) {
        audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
                AudioManager.VIBRATE_SETTING_OFF);
        audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
                AudioManager.VIBRATE_SETTING_OFF);
        Toast.makeText(this, "设置成功!当前为无声无振动", Toast.LENGTH_LONG).show();
    }

设置后系统没有声音和振动。无法进行相应的提示。
以上所有设置的声音均为系统默认的声音大小,那么我们是否可以自定义声音的大小呢,答案是当然可以。要设置声音的大小 ,需要设置以下函数:
提高音量:

复制代码 代码如下:

audio.adjustVolume(AudioManager.ADJUST_RAISE, 0);

减小音量:

复制代码 代码如下:

audio.adjustVolume(AudioManager.ADJUST_LOWER, 0);

以上为最基本的设置方法,在使用中有许多更复杂的组合都是由此基本的方法组合而成的。

时间: 2024-07-29 13:34:56

Android 情景模式设置的相关文章

android中Camera获取系统支持的情景模式

在我们调相机时, 经常有测试提出相机的模型情景模式不支持.下面我们来分析下怎样看android系统相机的情景模式.我们以MTK的实现为例. 在底层mediatek/proprietary/custom/mt8127/hal/sendepfeature/ov2680_raw/config.ftbl.ov2680_mipi_raw.h 这个文件定义的我们的相机支持哪些情景模式 #if 1     //  Scene Mode     FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_

安卓情景模式开发(一)-控制GPS/WIFI/蓝牙/飞行模式

对于android上GPS的控制,官方提供了相关的API Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true); 但是当我们调用setLocationProviderEnabled方法后,系统会抛出异常提示需要android.permission.WRITE_SECURE_SETTINGS的权限,即便在mainfest中添加该权限的请求也是一样.se

wex5 教程 之 web网站android原生模式打包

如果有成型的web网站,想做成手机app,如何用wex5来打包成apk呢?比如说百度视频,我想打包成自已的apk安装到手机上,怎么做呢? 官方提供了四种打包模式,都需要提供服务地址,也就是说要有一台服务器来提供服务.我只是要把web地址封装一下,apk打开后跳转到网页就行,显然服务地址是不需要的. 那如果用wex5的页面frame组件加载一个web页面呢? 经测试,这种方法可行,问题是,w页面是wex5自创的页面,不是html的document页面,会出现视频格式不能播放,无falsh插件问题.

Android手机APN设置(中国移动 联通3G 电信天翼),解决不能上网的问题

中国移动 第一步,设置CMNET上网 新建APN 1.名称:cmnet 2.APN:cmnet 3.APN类型:default 就仅仅填写上面3个选项,其它都是默认,不用填写. 第二步,设置彩信 新建APN 1.名称:cmmms 2.APN:cmwap 3.代理:10.0.0.172 4.port:80 5.username:(空着) 6.password:(空着) 7.server:(空着) 8.MMSC: http://mmsc.monternet.com 9.彩信代理:010.000.00

如何修改情景模式的默认值

一,针对每个情景模式的默认值修改: 1,默认铃声是统一在alps/build/target/product/core.mk文件中设置,其中ro.config.notification_sound表示通知的默认铃声,ro.config.ringtone表示语音来电和视频来电的铃声,若希望语音来电和视频来电分开设置,请参考FAQ08273 [Audio Profile]如何设置视频来电铃的默认铃声: PRODUCT_PROPERTY_OVERRIDES:=\ ro.config.notificati

Android Run模式下提示"Waiting For Debugger"

问:Android Run模式下提示"Waiting For Debugger", 拔掉数据线就一直停在Waiting页面! 试过重启机器, 也是个在manifest里面设置android:debuggable="false", 都不行! 解决:在设置->开发者选项中关闭"调试某个app"

Android NDK 编译选项设置[zhuan]

http://crash.163.com/#news/!newsId=24 在Android NDK开发中,有两个重要的文件:Android.mk和Application.mk,各尽其责,指导编译器如何编译程序,并决定编译结果是什么.本文将详细说明几个常见的NDK选项的配置,帮助大家理解相应的配置选项. 一.Application.mk Application.mk实际上是轻量级Makefile,通常在$PROJECT/jni目录下,用于配置所有modules的编译变量,例子如下: APP_AB

将android界面背景设置为黑色

将界面背景设置为黑色的几种方法: 新建项目时候 第二次next之后(不同sdk版本可能不同),Background Color项点击可选. 开发布局文件,选择视图查看 就是下边二个选项卡中的第一个(Graphical),然后上边有个 AppTheme点击->Theme->前三项(Theme.Black等)都可以 在你最外层的layout里边设置  android:background="#000000"属性 在manifest中对应activity属性中,添加下边任意一种(

【Android】 TextView设置个别字体样式

1 SpannableString msp = new SpannableString("测试"+XM+"更换当前号码将从手机发送一条普通短信进行验证"); 2 msp.setSpan(new ForegroundColorSpan(Color.BLUE), 2, XM.length()+2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 印象中的TextView: TextView 就是用于显示文本的控件,可以在布局文件中通过 androi