mot*_*s10 3 performance android android-audiomanager android-phone-call
我正在通话时尝试启用扬声器:
final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)
我试图检查setSpeakerphoneOn()音频管理器后,通过询问是否仍未打开扬声器isSpeakerphoneOn()
audioManager.isSpeakerphoneOn();
Run Code Online (Sandbox Code Playgroud)
在我的日志中,我可以看到一些我无法理解的错误:
E/AudioManager: Don't setBluetoothScoOn-PackageName: com.myapp.app on = false
E/AudioManager: Don't setSpeakerphoneOn-PackageName: com.myapp.app on = true
Run Code Online (Sandbox Code Playgroud)
我在论坛中找不到有关此错误的任何信息。
在以下设备上不起作用:中兴Z981,华为p9,我已经尝试过了,并android.permission.MODIFY_AUDIO_SETTINGS获得了批准。
嗨,阅读android开发人员文章
https://developer.android.com/reference/android/media/AudioManager.html
解释清楚
您需要在清单中设置权限:MODIFY_AUDIO_SETTINGS
在清单中添加此行
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)
我发现setMode()(当前模式)之前setSpeakerphoneOn()修复了logcat上的错误:
AudioManager audioManager = (AudioManager)getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2766 次 |
| 最近记录: |