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));
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        //
        // サイレントモード解除→ 音声出力
        //
        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);