• MTK 关闭耳机调至最大音量时,提示损伤听力


    android开发之耳机调至最大音量时,提示损伤听力

    android开发之耳机调至最大音量时,提示损伤听力

    通过提示语,我们可以查出,只要的逻辑代码是在framework/base/packages/SystemUI/src/com/android/systemui/SafetyWarningDialog.java

    查看代码可知,在这个类的构造函数中,首先初始化了一个dialog

    
    
     public SafetyWarningDialog(Context context, AudioManager audioManager) {
    45        super(context);
    46        mContext = context;
    47        mAudioManager = audioManager;
    48
    49        getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
    50        setMessage(mContext.getString(com.android.internal.R.string.safe_media_volume_warning));
    51        setButton(DialogInterface.BUTTON_POSITIVE,
    52                mContext.getString(com.android.internal.R.string.yes), this);
    53        setButton(DialogInterface.BUTTON_NEGATIVE,
    54                mContext.getString(com.android.internal.R.string.no), (OnClickListener) null);
    55        setOnDismissListener(this);
    56
    57        final IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
    58        context.registerReceiver(mReceiver, filter);
    59    }
    
    

    当用户做按键操作时,会调用相关的listener 函数,具体的代码实现如下:

    
    
      @Override
    64    public boolean onKeyDown(int keyCode, KeyEvent event) {
    65        if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && event.getRepeatCount() == 0) {
    66            mNewVolumeUp = true;
    67        }
    68        return super.onKeyDown(keyCode, event);
    69    }
    70
    71    @Override
    72    public boolean onKeyUp(int keyCode, KeyEvent event) {
    73        if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && mNewVolumeUp
    74                && (System.currentTimeMillis() - mShowTime) > KEY_CONFIRM_ALLOWED_AFTER) {
    75            if (D.BUG) Log.d(TAG, "Confirmed warning via VOLUME_UP");
    76            mAudioManager.disableSafeMediaVolume();
    77            dismiss();
    78        }
    79        return super.onKeyUp(keyCode, event);
    80    }
    81
    82    @Override
    83    public void onClick(DialogInterface dialog, int which) {
    84        mAudioManager.disableSafeMediaVolume();
    85    }
    86

    mAudioManager.disableSafeMediaVolume(); //关闭安全音量提
    
    
    如果说平台需要,可以通过config xml配置,将config_safe_media_volume_enabled 置false 来关闭此功能
  • 相关阅读:
    细说java平台日志组件
    linux远程执行命令
    linux命令 common 文件比较
    Linux Shell脚本编程--cut命令
    linux sort命令
    shell中if判断一个变量为空
    linux shell if参数
    wc命令
    date 命令
    let 与 expr Shell运算比较 let强强胜出
  • 原文地址:https://www.cnblogs.com/zxouxuewei/p/8963747.html
Copyright © 2020-2023  润新知