Android 5.0+ AudioManager setMode funktioniert nicht
Ich arbeite an AudioManager, einem Android SystemService. Mit Android System 5.0+ stoße ich auf ein Problem, bei dem der AudioManager mit der setMode-Methode nicht funktioniert.
i durch einen Test, Android M, Lollipop .. Version 5.0+, AudioManager setMode funktioniert nicht. Beispiel:
public void initAudioImageIcon(boolean initLoad) {
boolean isAudioHeaderMode = IMSharedPreferences.getBooleanExtra(this, IMSPConstant.SP_NAME_MESSAGE,
IMSPConstant.SP_KEY_AUDIO_HEADER_MODE);
if (isAudioHeaderMode) {
mAudioHanderMode.setVisibility(View.VISIBLE);
// audioManager.setMode(AudioManager.MODE_IN_CALL) , but android system 5.0+ no any change, getMode() == AudioManager.MODE_NORMAL
setAudioMode(AudioManager.MODE_IN_CALL);
audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
if (!initLoad) {
showAudioModePrompt(this.getText(R.string.im_audio_in_call), 1000);
}
} else {
mAudioHanderMode.setVisibility(View.GONE);
setAudioMode(AudioManager.MODE_NORMAL);
if (!initLoad) {
showAudioModePrompt(this.getText(R.string.im_audio_in_speeker), 1000);
}
}
}
Aber Android 3.0 +, 4.0 + ist in Ordnung, nur 5.0 +. Also, ich weiß nicht, wo Fehler passieren.