Включите режим полета, используя класс AccessibilityService в Xamarin - PullRequest
1 голос
/ 18 апреля 2020

Я хочу включить или выключить режим полета с помощью AccessibilityService.

Есть идеи, как мы можем это сделать?

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Да, вы не можете изменить его из приложения, цель которого больше Android 4.2. Но вместо этого вы можете открыть страницу настроек, если хотите:

     if (Android.OS.Build.VERSION.SdkInt < BuildVersionCodes.JellyBeanMr1)
            {
                try
                {
                    Intent intentAirplaneMode = new Intent(Android.Provider.Settings.ActionAirplaneModeSettings);
                    intentAirplaneMode.SetFlags(ActivityFlags.NewTask);
                    Context.StartActivity(intentAirplaneMode);
                }
                catch (ActivityNotFoundException e)
                {
                    Log.Error("exception", e + "");
                }
            }
            else
            {
                Intent intent1 = new Intent("android.settings.WIRELESS_SETTINGS");
                intent1.SetFlags(ActivityFlags.NewTask); 
                Context.StartActivity(intent1);
            }
   }

И AccessibilityService можно использовать со службой зависимостей.

1 голос
/ 18 апреля 2020

Камаль, ты не сможешь это сделать.

Не похоже, что ты делаешь iOS, но iOS имеет много ограничений из-за конфиденциальности и безопасности цели, которые не позволят вам сделать это. Вы можете увидеть более подробную информацию здесь stackoverflow.com/q/20469425/11104068

Также android заблокирован возможность сделать это с Android 4.2 и далее. Только системные приложения могут вносить изменения в режим «В самолете», как вы можете видеть здесь stackoverflow.com/a/5533943/11104068 Поскольку не похоже, что вы создаете системное приложение, которое устанавливается с операционной системой, а не с помощью Play Магазин, вы не сможете получить разрешения. Это даст вам ошибку / исключение, даже если вы реализуете все

...