在Xamarin Android的BroadCast接收中,Chang手机进入静音模式

时间:2017-11-23 05:32:01

标签: c# android xamarin broadcastreceiver

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();
}
}
  

我希望在广播接收时自动将我的手机模式更改为特定时间的静音,所以在这里我从时间选择器中选择时间,然后设置Ala ram Manager实例。当Pending Intent完成时,广播接收器处于活动状态,并向我显示一条消息,即“Broadcast Received。”,但在这里我想将我的移动模式更改为静音模式,那么我该怎么办呢,可以任何一个帮我 ?提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

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

从N开始,除非应用程序被授予免打扰访问权限,否则不允许切换“请勿打扰”的振铃模式调整。

回复:AudioManager