前提是手机未root 的情况下,要想实现静音的效果。
private AudioManager myAudioManager = null; myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); int ringerMode = myAudioManager.getRingerMode(); //记录用户先前的声音模式 myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);//设置静音 myAudioManager.setRingerMode(ringerMode); //恢复之前的声音模式 以上这种方法实际测试了一下,在拍照的时候,有的手机上有效,有的无效,请问是为什么?除此之外还有什么别的静音方式没?
private AudioManager myAudioManager = null; myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); int ringerMode = myAudioManager.getRingerMode(); //记录用户先前的声音模式 myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);//设置静音 myAudioManager.setRingerMode(ringerMode); //恢复之前的声音模式 以上这种方法实际测试了一下,在拍照的时候,有的手机上有效,有的无效,请问是为什么?除此之外还有什么别的静音方式没?
解决方案 »
- 同样的正则匹配,为什么得到不同的结果
- 关于Notification铃声停止的问题?
- post 请求时有时会长时间阻塞
- AVD模拟器第一次启动几小时尚未成功!!
- android 怎么实现上层Java和下面C++ 共享一个特殊标记?
- Android NDK中如何编译Box2d c++获得so文件?
- 有谁知道Android中Email程序提供的Provider有哪些?
- 求助关于RadioButton的问题
- NDK编译so文件找不到mysql.h
- android使用Mediaplayer+Surfaceview播放视频偶尔出现卡顿或者卡死
- Java应用程序调用系统中任意一个so文件的方法 大家看看是否可行?
- 关于图片显示的一小段代码。。求请教
试一下下面的代码: AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); // mute music stream
audioManager.setStreamVolume(AudioManager.STREAM_RING, 0, 0); // mute ring stream
if (Build.VERSION.SDK_INT >= 8) {
audioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
audioManager.requestAudioFocus(null, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN);
}