如何在活动开始时禁用Touch Sounds?

时间:2014-05-29 15:25:32

标签: android

任何人都可以帮我解决如何在活动开始时禁用Android设备中的Touch Sounds?

目前我正在使用这种方式,但是当我有许多按钮时,它并不适合做。

btn.setSoundEffectsEnabled(false);

如果我有10 btn,我必须一次又一次地重复它。这是如此困难的代码。

现在我希望Touch Sound在活动开始时自动禁用。

我非常感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

您可以在活动开始时关闭声音,并在离开活动时删除静音

@override
public void onResume(){
    super.onResume();
    AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true);
}


@override
public void onPause(){
    super.onPause();
    AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false);
}

答案 1 :(得分:0)

尝试使用 AudioManager

AudioManager audioManager=(AudioManager)getSystemService(AUDIO_SERVICE);
audioManager.setRingerMode(audioManager.RINGER_MODE_SILENT);

禁用声音的其他选项:

import android.provider.Settings;

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

答案 2 :(得分:0)

您可以在" res / values / styles.xml"

中创建主题文件
<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="AppBaseTheme" parent="android:Theme.Black.NoTitleBar">

</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:soundEffectsEnabled">false</item>
</style>

</resources>

然后在你的&#34; AndroidManifest.xml&#34;

中引用它
<application
...
android:theme="@style/AppTheme" >