任何人都可以帮我解决如何在活动开始时禁用Android设备中的Touch Sounds?
目前我正在使用这种方式,但是当我有许多按钮时,它并不适合做。
btn.setSoundEffectsEnabled(false);
如果我有10 btn,我必须一次又一次地重复它。这是如此困难的代码。
现在我希望Touch Sound在活动开始时自动禁用。
我非常感谢您的帮助。
答案 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" >