Включить громкоговоритель при выполнении исходящих вызовов

#android #android-audiomanager

#Android #android-audiomanager

Вопрос:

Я пытаюсь включить громкоговоритель всякий раз, когда выполняется вызов с устройства на базе Android. ниже приведен мой код, который я использовал.:

Основная активность:

 CallReceiver call = new CallReceiver();
        IntentFilter intentFilter = new IntentFilter(
                Intent.ACTION_NEW_OUTGOING_CALL);
        Main1Activity.this.registerReceiver(call, intentFilter);
  

Приемник вызова:

 public class CallReceiver extends BroadcastReceiver {
    AudioManager am;

    @Override
    public void onReceive(Context context, Intent intent) {
        String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        Toast.makeText(context, phoneNumber, Toast.LENGTH_SHORT).show();
        am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        boolean check = am.isSpeakerphoneOn();
        if (check) {
            Toast.makeText(context, "LoudSpeaker On: "   "Anchit",
                    Toast.LENGTH_LONG).show();
        } else {

            am.setMode(AudioManager.MODE_NORMAL);
            am.setSpeakerphoneOn(true);
        }
    }

}
  

Разрешения в манифесте:

  <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  

я не получаю никаких ошибок, но да, я не могу заставить громкоговоритель работать.

Пожалуйста, помогите.