android关闭触摸提示音,Android取消和开启View或则ViewGroup点击带有提示音

您所在的位置:网站首页 打开监听通道需要开启静音开关 android关闭触摸提示音,Android取消和开启View或则ViewGroup点击带有提示音

android关闭触摸提示音,Android取消和开启View或则ViewGroup点击带有提示音

2024-07-05 16:52| 来源: 网络整理| 查看: 265

前言

如果系统设置[声音]选项中关闭了[触摸提示音],则所有的View都没有提示音。

开启系统设置[触摸提示音]基础上,View或ViewGroup设置setOnTouchListener()或者setOnLongClickListener()都是没有提示音的。

开启系统设置[触摸提示音]基础上,View或ViewGroup只有设置setOnClickListener()监听,默认情况下(android:soundEffectsEnabled默认是为true的)时是由提示音的。

在2的前提下,修改View或ViewGroup的android:soundEffectsEnabled属性为false,就没有提示音。

小结一下

如果需要View或ViewGroup点击时有提示音,需要如下三步。

需要开启触摸提示音

android:soundEffectsEnabled属性为true

需要设置setOnClickListener()监听

提示音开启和设置

需要开启触摸提示音

开启这个有两种,一种就是系统设置[声音],然后开启[触摸提示音]。

另外一种时通过代码设置。

# 查询是是否有提示音

int enabled = Settings.System.getInt(getContentResolver(), Settings.System.SOUND_EFFECTS_ENABLED);

/设置 0-关闭,1-打开

Settings.System.putInt(getContentResolver(), Settings.System.SOUND_EFFECTS_ENABLED, 0);

开启View或ViewGroup

设置或者不设置也行,默认都是置为true的,重点就是设置setOnClickListener()监听。

android:id="@+id/main_test_one"

android:layout_width="match_parent"

android:layout_height="200dp"

android:soundEffectsEnabled="true"

android:background="@android:color/holo_red_dark" />

设置监听后,就有按键提示音了。

但是,如果你的View或ViewGroup中的android:soundEffectsEnabled="false"那就没有提示音。

findViewById(R.id.main_test_one).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

}

});

音效是在AudioManager播放的

播放代码: framework/base/media/java/android/media/AudioManager.java

public void playSoundEffect(int effectType) {

if (effectType < 0 || effectType >= NUM_SOUND_EFFECTS) {

return;

}

if (!querySoundEffectsEnabled()) {

return;

}

IAudioService service = getService();

try {

service.playSoundEffect(effectType);

} catch (RemoteException e) {

Log.e(TAG, "Dead object in playSoundEffect"+e);

}

}

参考文章



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3