How to turn-on SpeakerPhone for incoming call in Xamarin.Forms Android 13
Universal Camera
276
Reputation points
I used this posting
I integrated it into my PhoneCallListener BroadcastReceiver to turn-on the SpeakerPhone on Android13 Unsuccessfully.
[BroadcastReceiver(Enabled = true, Exported = true)]
[IntentFilter(new[] { TelephonyManager.ActionPhoneStateChanged }, Priority = (int)IntentFilterPriority.HighPriority)]
public class PhoneCallListener : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
var state = intent.GetStringExtra(TelephonyManager.ExtraState);
AudioManager audioManager = (AudioManager)Android.App.Application.Context.GetSystemService(Context.AudioService);
if (intent.Action == TelephonyManager.ActionPhoneStateChanged)
{
if (state == TelephonyManager.ExtraStateOffhook)
{
Task.Run(() =>
{
Task.Delay(5000).Wait();
Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
{
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.S)
{
Utils.setCommunicationDevice(context, AudioDeviceType.BuiltinSpeaker);
}
else
{
audioManager.SpeakerphoneOn = true;
}
});
});
}
}
}
}
This works for Android11 and lower but NOT for Android12&13
Some Insight PLEASE!!!!
Sign in to answer