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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage