好的,如果我们想从硬件“后退”按钮禁用 Android“默认声音”
如果是android中的对象
我们可以通过以下方式禁用它
onClick (View v) {
v.setSoundEffectsEnabled(false);
}
或者通过 xml 禁用它
<Button
android:id="@+id/bSignin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:soundEffectsEnabled="false"
/>
但是,如果是硬件按钮
如何做到这一点?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK )
{
// ?
}
}
注意:我不想完全禁用所有声音,我只想禁用默认声音并播放我的应用程序声音
最佳答案
这是可能的,我发现this answer并想分享它,因为我能够使用此解决方案禁用硬件默认后退按钮。代码如下:
@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);
}
关于android - 从硬件 'default sound' 按钮禁用 android 'back',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22730402/