static void ScheduleNextUpdate(DateTime dateTime, RingerMode mode, Context context, long endTimeMilliseconds) { var intent = GetIntent(context, mode, endTimeMilliseconds); var manager = context.GetAlarmManager(); manager.ScheduleIntent(dateTime, intent); }
static PendingIntent GetIntent(Context context, RingerMode ringerMode, long toMilliseconds) { var intent = new Intent(context, typeof(ScheduleReceiver)); intent.PutExtra("RingerMode", (int)ringerMode); intent.PutExtra("To", toMilliseconds); return(PendingIntent.GetBroadcast(context, 0, intent, PendingIntentFlags.UpdateCurrent)); }
public override void OnCallAdded(Call call) { mAudioManager = (AudioManager)GetSystemService(Context.AudioService); currentRingerMode = mAudioManager.RingerMode; mAudioManager.RingerMode = RingerMode.Silent; string number = GetNumber(call); if (ShouldBlock(number)) { call.Disconnect(); } else { mAudioManager.RingerMode = currentRingerMode; base.OnCallAdded(call); } }
// // サイレントモード解除→ 音声出力 // private void CancelSilentMode(Context context) { // AudioManager設定 mAudioManager = (AudioManager)context.GetSystemService(Context.AudioService); if (mAudioManager == null) { return; } // 現在のサイレント状態取得 currentRingMode = mAudioManager.RingerMode; // マナーモード解除 mAudioManager.RingerMode = RingerMode.Normal; // 現在の音量を取得する currentVolume = mAudioManager.GetStreamVolume(Stream.Music); // ストリームごとの最大音量を取得する int ringMaxVolume = mAudioManager.GetStreamMaxVolume(Stream.Music); // 音量を設定する mAudioManager.SetStreamVolume(Stream.Music, ringMaxVolume, 0); // mAudioManager.SetStreamVolume(Stream.Notification, 2, 0); // 緊急時 }
internal void ScheduleNextUpdateWithoutEndTime(DateTime dateTime, RingerMode mode, Context context) => ScheduleNextUpdate(dateTime, mode, context, 0);