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);

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

(0)

相关推荐

  • Android主题切换之探究白天和夜间模式

    智能手机的迅速普及,大大的丰富了我们的娱乐生活.现在大家都喜欢晚上睡觉前玩会儿手机,但是应用的日间模式往往亮度太大,对眼睛有较为严重的伤害.因此,如今的应用往往开发了 日间和夜间 两种模式供用户切换使用,那日间和夜间模式切换究竟是怎样实现的呢? 在文字类的App上面基本上都会涉及到夜间模式.就是能够根据不同的设定.呈现不同风格的界面给用户.而且晚上看着不伤眼睛.实现方式也就是所谓的换肤(主题切换).对于夜间模式的实现网上流传了很多种方式.这里先分享一个方法给大家.通过设置背景为透明的方法.降低屏

  • AndroidSDK Support自带夜间、日间模式切换详解

    写这篇博客的目的就是教大家利用AndroidSDK自带的support lib来实现APP日间/夜间模式的切换,最近看到好多帖子在做关于这个日夜间模式切换的开源项目,其实AndroidSDK Support中已经有了非常好的支持了. 本文demo下载地址在文章的末尾,看完文档如果还不能实现可以下载玩玩. -------------------------------------------------------------------------------- 效果演示 左是Android 4

  • 三行Android代码实现白天夜间模式流畅切换

    Usage xml android:background= ?attr/zzbackground app:backgroundAttr= zzbackground //如果当前页面要立即刷新,这里传入属性名称 比如R.attr.zzbackground 传zzbackground即可 android:textColor= ?attr/zztextColor app:textColorAttr= zztextColor // 演示效果 Usage xml android:background="?

  • Android夜间模式最佳实践

    由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验.目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到Android系统中吧. 业内关于夜间模式的实现,有两种主流方案,各有其利弊,我较为推崇第三种方案: 1.通过切换theme来实现夜间模式. 2.通过资源id映射的方式来实现夜间模式. 3.通过修改uiMode来切换夜间模式. 值得一提的是,上面提到的几种方案,都是资源内嵌在Apk中的方案,像新浪微

  • Android 听筒模式的具体实现实例

    一.利用距离感应器监听听筒靠近耳朵事件准确的说距离感应器并不能监听到你是否把手机靠近耳朵,也许是你用手挡在了距离感应器前面,但这不是我们关心的,我们关心的是当你的耳朵靠近听筒时,我们要捕获到这个事件 step 1,新建实现SensorEventListener接口的类并实现onSensorChanged(SensorEvent event)方法 复制代码 代码如下: public class MainActivity extends Activity implements SensorEvent

  • android 如何判断当前是否为飞行模式

    Android中如何判断系统当前是否处于飞行模式中: 复制代码 代码如下: public static boolean IsAirModeOn(Context context) { return (Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1 ? true : false); } 如何切换飞行模式 复制代码 代码如下: public static voi

  • Android 如何定制vibrator的各种震动模式M 具体方法

    一般振动时间的配置在如下文件: 复制代码 代码如下: frameworks/base/core/res/res/values/config.xml    <!-- 长按振动 -->    <!-- Vibrator pattern for feedback about a long screen/key press -->    <integer-array name="config_longPressVibePattern">        <

  • android基础教程之夜间模式实现示例

    复制代码 代码如下: package org.david.dayandnightdemo.cor; import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.graphics.Col

  • javascript判断iphone/android手机横竖屏模式的函数

    查了不少资料,最后结论如下: 复制代码 代码如下: function orientationChange(){ switch(window.orientation) { case 0: // Portrait case 180: // Upside-down Portrait // Javascript to setup Portrait view break; case -90: // Landscape: turned 90 degrees counter-clockwise case 90

  • Android开发之文件操作模式深入理解

    一.基本概念 复制代码 代码如下: // 上下文对象 private Context context; public FileService(Context context) { super(); this.context = context; } // 保存文件方法 public void save(String filename, String fileContent) throws Exception { FileOutputStream fos = context.openFileOut

随机推荐