#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"/>
я не получаю никаких ошибок, но да, я не могу заставить громкоговоритель работать.
Пожалуйста, помогите.