Android 情景模式的设置代码
发布时间:2023-09-23 07:26:37
标签:情景模式,设置,代码
情景模式的设置大家应当相当熟悉了,但是在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);
以上为最基本的设置方法,在使用中有许多更复杂的组合都是由此基本的方法组合而成的。
0
投稿
猜你喜欢
- textField用于文本输入,它提供了很多属性:const TextField({ ... TextEditi
- 前言Snackbar和Toast相似,都是为了给用户提供交互信息,Snackbar是固定在底部的,显示时从下往上滑出要使用Snackbar,
- 需求业务需要导出的Excel的数字内容保留两位小数,并且四舍五入代码实现百度一圈所抄袭的代码DecimalFormat dfScale2 =
- 1、自定义实现该类package com.linmain.dict.handle;import org.apache.ibatis.sess
- 写在前面,首先,我用的java转json序列化的工具是java开源的jackson。今天在做后端接口的时候,发现获取的json对象中少了几个
- 目录1、对于A、B两种排队方式,说法正确的是2、Inter-process communication (IPC) is the trans
- 目录引言编译环境及说明图片素材分割事件处理OnPaint事件鼠标交互事件代码汇总引言我们有时候会在程序的文件夹里看见一些图标,而这些图标恰好
- 个人感觉mob平台功能还是比较强大的,很多功能都可以通过他们平台来实现。建议仔细观看每一个步骤,如果一个步骤没处理好,可能就会让你的这个功能
- java中 Set与Map排序输出到Writer详解及实例一般来说java.util.Set,java.util.Map输出的内
- 本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下package com.amos.tools;import java.
- Spring多数据源实现的方式大概有2中,一种是新建多个MapperScan扫描不同包,另外一种则是通过继承AbstractRoutingD
- C#调用c++dll文件是一件很麻烦的事情,首先面临的是数据类型转换的问题,相信经常做c#开发的都和我一样把学校的那点c++底子都忘光了吧(
- 一、概述1、XMLReader为抽象类,其派生类有:XmlDictionaryReaderXmlNodeReaderXmlTextReade
- 本文以一个完整实例讲述了C#水印图片的生成方法。是非常实用的技巧。分享给大家供大家参考。具体实例代码如下:/** * 使用说明:
- 接触过Android开发的同学们都知道在Android中访问程序资源基本都是通过资源ID来访问。这样开发起来很简单,并且可以不去考虑各种分辨
- 研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法方法一:setCa
- 本文实例讲述了Android SQLite数据库操作方法。分享给大家供大家参考,具体如下:SQLite and AndroidSQLite简
- 这个问题属于非常初级的问题,但是对于初学不知道的人可能会比较头疼。C++ 中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函
- ActivityThread功能它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IAppl
- 概述还没玩过Spring Boot,现在越来越多的公司在用了,不得不学习了。本篇是Spring Boot的开篇,简单介绍一下如何创建一个Sp