在 Xamarin Android 中将广播接收更改为静默模式 Phone

Chang Phone to Silent Mode on BroadCast Recieving in Xamarin Android

MainActivity.cs

 private void StartAlarm() 
{
    Intent myIntent;
    PendingIntent pendingIntent; myIntent = new Intent(this, typeof(AlarmToastReceiver));
    pendingIntent = PendingIntent.GetBroadcast(this, 0, myIntent, 0);
    alarm_manager.Set(AlarmType.RtcWakeup, calndr.TimeInMillis, pendingIntent);
}

AlarmToastReceiver.cs

[BroadcastReceiver(Enabled =true)]
public class AlarmToastReceiver : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
    Toast.MakeText(context, "BroadCast Received.", ToastLength.Long).Show();
}
}

I want to Change my Phone mode to Silent at Specific Time automatically on Broadcast receiving, So here i pick the Time from Time-picker, and then set the Ala ram Manager Instance. When the Pending Intent completed , then Broadcast Receiver is active, and a Message is Shown to me,i.e "Broadcast Received.", but here i want to change my Mobile Mode to silent Mode,So how can i do it,can any one help me ? thanks in advance.

您可以使用AudioManager设置Silent/Vibrate/Normal

var audioMgr = (AudioManager)GetSystemService(AudioService);
audioMgr.RingerMode = RingerMode.Silent; // In Oreo(+) this will enable DnD mode

From N onward, ringer mode adjustments that would toggle Do Not Disturb are not allowed unless the app has been granted Do Not Disturb Access.

回复:AudioManager