示例#1
0
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent.Action.Equals(Intent.ActionBootCompleted))
            {
                var _intent = new Intent(context, typeof(MobileService));
                context.StartService(_intent);
            }

            if (intent.Action.Equals("com.google.android.c2dm.intent.RECEIVE"))
            {
                var _data  = intent.Extras;
                var _alarm = new Intent("android.intent.action.BADGE_COUNT_UPDATE");

                // 패키지 네임과 클래스 네임 설정
                _alarm.PutExtra("badge_count_package_name", "kr.co.odinsoftware.LION");
                _alarm.PutExtra("badge_count_class_name", "Lion.XDroid.LoginActivity");

                // 업데이트 카운트
                _alarm.PutExtra("badge_count", _data.GetString("badge"));
                context.SendBroadcast(_alarm);

                var _vibrator = context.GetSystemService(Context.VibratorService).JavaCast <Vibrator>();
                if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O)
                {
                    _vibrator.Vibrate(VibrationEffect.CreateOneShot(500, VibrationEffect.DefaultAmplitude));
                }
                else
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    _vibrator.Vibrate(500);
                }
#pragma warning restore CS0618 // Type or member is obsolete
            }
        }
示例#2
0
        public void ReceiveDetections(Detections detections)
        {
            if (this.ViewModel.State == RegisterDeviceViewModel.RegistrationState.New)
            {
                SparseArray qrcodes = detections.DetectedItems;
                if (qrcodes.Size() != 0)
                {
                    try
                    {
                        Vibrator vibrator = (Vibrator)GetSystemService(Context.VibratorService);
                        vibrator.Vibrate(VibrationEffect.CreateOneShot(1000, 1));
                    }
                    catch { }
                    var value = ((Barcode)qrcodes.ValueAt(0)).RawValue;

                    string networkSSID = value;

                    if (!string.IsNullOrEmpty(networkSSID))
                    {
                        Task.Run(async() => await this.ViewModel.ProvisionDevice(new Common.WiFi.WifiNetwork()
                        {
                            SSID = networkSSID
                        }));
                    }
                }
            }
        }
示例#3
0
        public void Vibration(TimeSpan?vibrateSpan = null)
        {
            using (var vibrator = (Android.OS.Vibrator)CrossCurrentActivity.Current.Activity.GetSystemService(Context.VibratorService))
            {
                if ((int)Android.OS.Build.VERSION.SdkInt >= 11)
                {
                    if (!vibrator.HasVibrator)
                    {
                        Console.WriteLine("Android device does not have vibrator.");
                        return;
                    }
                }

                var milliseconds = vibrateSpan.HasValue ? vibrateSpan.Value.TotalMilliseconds : 500;
                if (milliseconds < 0)
                {
                    milliseconds = 0;
                }

                try
                {
                    vibrator.Vibrate(VibrationEffect.CreateOneShot((long)milliseconds, VibrationEffect.DefaultAmplitude));
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Unable to vibrate Android device, ensure VIBRATE permission is set.\r\n{ex.Message}");
                }
            }
        }
示例#4
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().PermitAll().Build();
            StrictMode.SetThreadPolicy(policy);

            var wifi = (WifiManager)GetSystemService(WifiService);
            var ConnectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService);

            wifilock = wifi.CreateWifiLock(WifiMode.FullHighPerf, "WifiLock");
            wifilock.Acquire();

            game = new Game1(
                CreateUdpService(wifi, ConnectivityManager)
                , RuningOnAndroid: true
                );

            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
            {
                Vibrator vibrator = (Vibrator)GetSystemService(VibratorService);
                Game1.AndroidVibrate = f => vibrator.Vibrate(VibrationEffect.CreateOneShot(f, VibrationEffect.DefaultAmplitude));
            }
            else
            {
                //TODO:
            }

            SetViewFullScreen();

            //PowerManager pm = (PowerManager)GetSystemService(PowerService);
            //this.mWakeLock = pm.NewWakeLock(WakeLockFlags.ScreenDim, "My Tag");
            //this.mWakeLock.Acquire();
            game.Run();
        }
示例#5
0
        private SimpleMessageDialog LogErrorInternal(Exception ex, bool silent = false)
        {
            if (ex is LocalizedException)
            {
                WriteLine((ex as LocalizedException).InnerException, LogPriority.Error);
            }

            else
            {
                WriteLine(ex, LogPriority.Error);
            }

            if (silent)
            {
                return(null);
            }

            Vibrator vibrator = (Vibrator)_context.GetSystemService(Context.VibratorService);

            vibrator.Vibrate(VibrationEffect.CreateOneShot(100, VibrationEffect.DefaultAmplitude));

            var simpleMessageDialog = new SimpleMessageDialog(_context)
            {
                ButtonTextId  = Resource.String.mettarin_ok,
                MessageTextId = (ex is LocalizedException) ?
                                (ex as LocalizedException).ResourceId : Resource.String.mettarin_error_text,
                TitleTextId = Resource.String.mettarin_error
            };

            return(simpleMessageDialog);
        }
示例#6
0
        static Task DoRun(int milliseconds)
        {
            using var vibrator = CreateVibrator();
            vibrator.Vibrate(VibrationEffect.CreateOneShot(milliseconds, VibrationEffect.DefaultAmplitude));

            return(Task.CompletedTask);
        }
        private static bool PlatformSetVibration(
            int index, float leftMotor, float rightMotor, float leftTrigger, float rightTrigger)
        {
            var gamePad = GamePads[index];

            if (gamePad == null)
            {
                return(false);
            }

            var vibrator = gamePad._device.Vibrator;

            if (!vibrator.HasVibrator)
            {
                return(false);
            }

            const long durationsMs = 500;

            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
            {
                vibrator.Vibrate(VibrationEffect.CreateOneShot(durationsMs, VibrationEffect.DefaultAmplitude));
            }
            else
#pragma warning disable CS0618
            {
                vibrator.Vibrate(durationsMs);
            }
#pragma warning restore CS0618

            return(true);
        }
示例#8
0
        public static void AlertWithVibration(TimeSpan?vibrateSpan = null)
        {
            if (CanVibrate)
            {
                var milliseconds = vibrateSpan.HasValue ? vibrateSpan.Value.TotalMilliseconds : 500;
                using var vibratorManager = (VibratorManager)Android.App.Application.Context.GetSystemService(Context.VibratorManagerService);
                if ((int)Build.VERSION.SdkInt >= 11)
                {
#if __ANDROID_11__
                    if (!vibratorManager.DefaultVibrator.HasVibrator)
                    {
                        Console.WriteLine("Android device does not have vibrator.");
                        return;
                    }
#endif
                }
                if (milliseconds < 0)
                {
                    milliseconds = 0;
                }

                try
                {
                    vibratorManager.DefaultVibrator.Vibrate(VibrationEffect.CreateOneShot((int)milliseconds, VibrationEffect.DefaultAmplitude));
                }
                catch { }
            }
        }
        public void ActivateHaptic()
        {
            VibrationEffect effect   = VibrationEffect.CreateOneShot(100, VibrationEffect.DefaultAmplitude);
            Vibrator        vibrator = (Vibrator)global::Android.App.Application.Context.GetSystemService(Context.VibratorService);

            vibrator.Vibrate(effect);
        }
示例#10
0
 private void Vibrate(int duration)
 {
     if (Database.GetPropertyBoolValue("Vibrate"))
     {
         Vibrator vibrator = (Vibrator)GetSystemService(Context.VibratorService);
         vibrator.Vibrate(VibrationEffect.CreateOneShot(duration, VibrationEffect.DefaultAmplitude));
         //vibrator.Vibrate(duration);
     }
 }
示例#11
0
        public void Vibrate(int duration)
        {
            if (!ShouldVibrate())
            {
                return;
            }

            s_vibrator?.Vibrate(VibrationEffect.CreateOneShot(duration, VibrationEffect.DefaultAmplitude));
        }
 private void VerificationVibrate()
 {
     if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
     {
         _vibrator.Vibrate(VibrationEffect.CreateOneShot(100, 100));
     }
     else
     {
         _vibrator.Vibrate(100);
     }
 }
示例#13
0
 public static void VibrateClick()
 {
     if (Settings.AllowVibration)
     {
         Vibrator v  = (Vibrator)Application.Context.GetSystemService(Context.VibratorService);
         var      fx = Build.VERSION.SdkInt >= BuildVersionCodes.Q ?
                       VibrationEffect.CreatePredefined(VibrationEffect.EffectHeavyClick) :
                       VibrationEffect.CreateOneShot(20, 128);
         v.Vibrate(fx);
     }
 }
示例#14
0
        private void Vibrate()
        {
            Vibrator vibrator = (Vibrator)GetSystemService(Context.VibratorService);

            if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O)
            {
                vibrator.Vibrate(VibrationEffect.CreateOneShot(ONE_HUNDRED_MILLISECONDS, VibrationEffect.DefaultAmplitude));
            }
            else
            {
                vibrator.Vibrate(ONE_HUNDRED_MILLISECONDS);
            }
        }
示例#15
0
 internal void NotifyTransacting(Vibrator vibrator)
 {
     logger.Info("Init new Transaction");
     if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
     {
         vibrator.Vibrate(VibrationEffect.CreateOneShot(150, 100));
     }
     else
     {
         vibrator.Vibrate(150);
     }
     IsTransacting = true;
 }
        internal static void Vibrate(Context applicationContext, int milliseconds)
        {
            var v = (Vibrator)applicationContext.GetSystemService(Context.VibratorService);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
            {
                v.Vibrate(VibrationEffect.CreateOneShot(milliseconds, VibrationEffect.DefaultAmplitude));
            }
            else
            {
                v.Vibrate(milliseconds);
            }
            //Android.Widget.Toast.MakeText(applicationContext, "Vibrating", Android.Widget.ToastLength.Short).Show();
        }
        public void Run()
        {
            var vibrator = (Vibrator)Android.App.Application.Context.GetSystemService(Context.VibratorService);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
            {
                var effect = VibrationEffect.CreateOneShot(20, VibrationEffect.DefaultAmplitude);
                vibrator?.Vibrate(effect);
            }
            else
            {
                vibrator?.Vibrate(20);
            }
        }
示例#18
0
        public void HeavyClick()
        {
            if (!ShouldVibrate())
            {
                return;
            }

            if (Build.VERSION.SdkInt <= BuildVersionCodes.P)
            {
                s_vibrator?.Vibrate(VibrationEffect.CreateOneShot(20, VibrationEffect.DefaultAmplitude + 10));
            }
            else
            {
                s_vibrator?.Vibrate(VibrationEffect.CreatePredefined(VibrationEffect.EffectHeavyClick));
            }
        }
示例#19
0
 public void Vibe()
 {
     new Thread(() = \ > \
     {
         try
         {
             Vibrator v = (Vibrator)GetSystemService(Context.VibratorService);
             {
                 v.Vibrate(VibrationEffect.CreateOneShot(50, VibrationEffect.DefaultAmplitude));
             }
         }
         catch
         {
         }
     }).Start();
 }
示例#20
0
        public void OnVibrateOneSHot()
        {
            if (!AGVibrator.HasVibrator())
            {
                Debug.LogWarning("This device does not have vibrator");
            }

            if (!AGVibrator.AreVibrationEffectsSupported)
            {
                Debug.LogWarning("This device does not support vibration effects API!");
                return;
            }

            AGVibrator.Cancel();
            //Create a one shot vibration for 1000 ms at default amplitude
            AGVibrator.Vibrate(VibrationEffect.CreateOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE));
        }
示例#21
0
        static void PlatformVibrate(TimeSpan duration)
        {
            Permissions.EnsureDeclared(PermissionType.Vibrate);

            var time = (long)duration.TotalMilliseconds;

            if (Platform.HasApiLevel(BuildVersionCodes.O))
            {
                Platform.Vibrator.Vibrate(VibrationEffect.CreateOneShot(time, VibrationEffect.DefaultAmplitude));
            }
            else
            {
#pragma warning disable CS0618 // Type or member is obsolete
                Platform.Vibrator.Vibrate(time);
#pragma warning restore CS0618 // Type or member is obsolete
            }
        }
        public bool PlayWavSuccess()
        {
            //var am = (AudioManager)Android.App.Application.Context.GetSystemService(Android.App.Application.AudioService);

            //if (am.RingerMode == RingerMode.Normal)
            //{
            //    mediaPlayer = MediaPlayer.Create(global::Android.App.Application.Context, Resource.Raw.good);
            //    mediaPlayer.Start();
            //}

            //var v = (Vibrator)Android.App.Application.Context.GetSystemService(Android.App.Application.VibratorService);
            Vibrator vibrator = (Vibrator)Android.App.Application.Context.GetSystemService(Android.App.Application.VibratorService);

            vibrator.Vibrate(VibrationEffect.CreateOneShot(200, 1));

            return(true);
        }
示例#23
0
 // to vibrate on key press
 private void VibrateOnKey(int ms)
 {
     if (ms > 0)
     {
         if (Build.VERSION.SdkInt >= (BuildVersionCodes)26)
         {
             vibrator.Vibrate(VibrationEffect.CreateOneShot(ms, Vibation_Amp));
             //public static VibrationEffect createPredefined(EFFECT_CLICK); for android but can't find here
         }
         else
         {
             vibrator.Vibrate(ms);
         }
     }
     Console.WriteLine("vibrate on key  call end");//debug
     Console.WriteLine("Preview enabled value is: " + kv.PreviewEnabled);
 }
示例#24
0
        public static void ActivateVibration(this Vibrator vibrator, int duration, int amplitude)
        {
            // We can't control the amplitude/intensity of the vibration before Oreo
            // It might give a bad experience on lower end phones
            if (!vibrator.HasVibrator || !OreoApis.AreAvailable)
            {
                return;
            }

            try
            {
                vibrator.Vibrate(VibrationEffect.CreateOneShot(duration, amplitude));
            }
            catch
            {
                // Ignore potential permission exceptions
            }
        }
示例#25
0
        static void PlatformVibrate(TimeSpan duration)
        {
            Permissions.EnsureDeclared <Permissions.Vibrate>();

            var time = (long)duration.TotalMilliseconds;

#if __ANDROID_26__
            if (Platform.HasApiLevelO)
            {
                Platform.Vibrator.Vibrate(VibrationEffect.CreateOneShot(time, VibrationEffect.DefaultAmplitude));
                return;
            }
#endif

#pragma warning disable CS0618 // Type or member is obsolete
            Platform.Vibrator.Vibrate(time);
#pragma warning restore CS0618 // Type or member is obsolete
        }
示例#26
0
        public async void DoubleClick()
        {
            if (!ShouldVibrate())
            {
                return;
            }

            if (Build.VERSION.SdkInt <= BuildVersionCodes.P)
            {
                s_vibrator?.Vibrate(VibrationEffect.CreateOneShot(10, VibrationEffect.DefaultAmplitude));
                await Task.Delay(20);

                s_vibrator?.Vibrate(VibrationEffect.CreateOneShot(10, VibrationEffect.DefaultAmplitude));
            }
            else
            {
                s_vibrator?.Vibrate(VibrationEffect.CreatePredefined(VibrationEffect.EffectDoubleClick));
            }
        }
示例#27
0
        void PlatformVibrate(TimeSpan duration)
        {
            Permissions.EnsureDeclared <Permissions.Vibrate>();

            var time = (long)duration.TotalMilliseconds;

#if __ANDROID_26__
            if (OperatingSystem.IsAndroidVersionAtLeast(26))
            {
                Vibrator?.Vibrate(VibrationEffect.CreateOneShot(time, VibrationEffect.DefaultAmplitude));
            }
            else
#endif
            {
#pragma warning disable CS0618 // Type or member is obsolete
                Vibrator?.Vibrate(time);
#pragma warning restore CS0618 // Type or member is obsolete
            }
        }
示例#28
0
        public static void ActivateVibration(this Vibrator vibrator, int duration)
        {
            if (!vibrator.HasVibrator)
            {
                return;
            }

            try
            {
                if (OreoApis.AreAvailable)
                {
                    vibrator.Vibrate(VibrationEffect.CreateOneShot(duration, 10));
                }
                else
                {
                    vibrator.Vibrate(duration);
                }
            }
            catch
            {
                // Ignore potential permission exceptions
            }
        }
示例#29
0
        public void OnVibrateWithAudioAttributes()
        {
            if (!AGVibrator.HasVibrator())
            {
                Debug.LogWarning("This device does not have vibrator");
            }

            if (!AGVibrator.AreVibrationEffectsSupported)
            {
                Debug.LogWarning("This device does not support vibration effects API!");
                return;
            }

            AGVibrator.Cancel();
            //Creating new audio attributes with custom parameters
            var audioAttributes = new AudioAttributes.Builder()
                                  .SetContentType(AudioAttributes.ContentType.Music)
                                  .SetFlags(AudioAttributes.Flags.FlagAll)
                                  .SetUsage(AudioAttributes.Usage.Alarm)
                                  .Build();

            //Create a one shot vibration for 1000 ms at default amplitude with audio attributes
            AGVibrator.Vibrate(VibrationEffect.CreateOneShot(800, VibrationEffect.DEFAULT_AMPLITUDE), audioAttributes);
        }
示例#30
0
        public void Feedback(HapticEffect effect, FeedbackMode mode = FeedbackMode.Default)
        {
            if (effect == HapticEffect.None ||
                mode == FeedbackMode.Off ||
                (mode == FeedbackMode.Default && Forms9Patch.Feedback.HapticMode == FeedbackMode.Off))
            {
                return;
            }
            var hapticEnabled = true;

            if (mode == FeedbackMode.Default)
            {
                hapticEnabled = Android.Provider.Settings.System.GetInt(Android.App.Application.Context.ContentResolver, Android.Provider.Settings.System.HapticFeedbackEnabled) != 0;
            }
            if (hapticEnabled && AppEnabled)
            {
                if (effect == HapticEffect.Selection)
                {
                    Settings.Activity.Window.DecorView.PerformHapticFeedback(Android.Views.FeedbackConstants.KeyboardTap);
                }
                else if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O)
                {
                    VibrationEffect droidEffect = null;
                    switch (effect)
                    {
                    case HapticEffect.LightImpact:
                        droidEffect = VibrationEffect.CreateOneShot(200, 128);
                        break;

                    case HapticEffect.MediumImpact:
                        droidEffect = VibrationEffect.CreateOneShot(200, 196);
                        break;

                    case HapticEffect.HeavyImpact:
                        droidEffect = VibrationEffect.CreateOneShot(200, 255);
                        break;

                    case HapticEffect.ErrorNotification:
                        droidEffect = VibrationEffect.CreateWaveform(new long[] { 0, 200, 100, 200, 100, 200 }, new int[] { 0, 196, 0, 196, 0, 255 }, -1);
                        break;

                    case HapticEffect.WarningNotification:
                        droidEffect = VibrationEffect.CreateWaveform(new long[] { 0, 200, 100, 200 }, new int[] { 0, 196, 0, 255 }, -1);
                        break;

                    case HapticEffect.SuccessNotification:
                        droidEffect = VibrationEffect.CreateWaveform(new long[] { 0, 200, 100, 200 }, new int[] { 0, 255, 0, 196 }, -1);
                        break;

                    case HapticEffect.Long:
                        droidEffect = VibrationEffect.CreateOneShot(800, 255);
                        break;
                    }
                    if (droidEffect != null)
                    {
                        _vibrator.Vibrate(droidEffect);
                    }
                }
                else
                {
#pragma warning disable CS0618 // Type or member is obsolete
                    long[] pattern = null;
                    switch (effect)
                    {
                    case HapticEffect.LightImpact:
                        _vibrator.Vibrate(200, Attributes);
                        break;

                    case HapticEffect.MediumImpact:
                        _vibrator.Vibrate(300, Attributes);
                        break;

                    case HapticEffect.HeavyImpact:
                        _vibrator.Vibrate(400, Attributes);
                        break;

                    case HapticEffect.ErrorNotification:
                        pattern = new long[] { 0, 200, 100, 200, 100, 200 };
                        break;

                    case HapticEffect.WarningNotification:
                        pattern = new long[] { 0, 200, 100, 200 };
                        break;

                    case HapticEffect.SuccessNotification:
                        pattern = new long[] { 0, 200, 100, 200 };
                        break;

                    case HapticEffect.Long:
                        _vibrator.Vibrate(800, Attributes);
                        break;
                    }
                    if (pattern != null)
                    {
                        _vibrator.Vibrate(pattern, -1, Attributes);
                    }
#pragma warning restore CS0618 // Type or member is obsolete
                }
            }
        }