Как включить/выключить режим полета в Xamarin.Forms для Android и iOS?
Представьте, что вам позволили это сделать, какая это была бы неприятная дыра в безопасности.





Как сказали @Patrick Hofman и @DavidG. Вы не можете включать/выключать режим полета с помощью кода в своем проекте. Однако вы можете открыть страницу настроек системы в Forms с помощью Служба зависимостей и позволить пользователю включать/выключать режим полета вручную.
in Forms,add a new interface
public interface ISettingsService
{
void OpenSettings();
}
in iOS
using xxx.iOS;
using Foundation;
using UIKit;
using Xamarin.Forms;
[assembly: Dependency(typeof(OpenSettingsImplement))]
namespace xxx.iOS
{
public class OpenSettingsImplement : ISettingsService
{
public void OpenSettings()
{
var url = new NSUrl($"App-Prefs:");
UIApplication.SharedApplication.OpenUrl(url);
}
}
}
Примечание:
App-Prefs: — частный API в iOS. Поэтому, если вы хотите загрузить его в магазин приложений, он может быть отклонен магазином.
in Android
using Android.Content;
using xxx;
using xxx.Droid;
using Xamarin.Forms;
[assembly: Dependency(typeof(OpenSettingsImplement))]
namespace xxx.Droid
{
public class OpenSettingsImplement : ISettingsService
{
public void OpenSettings()
{
Intent intentOpenSettings = new Intent();
intentOpenSettings.SetAction(Android.Provider.Settings.ActionAirplaneModeSettings);
Android.App.Application.Context.StartActivity(intentOpenSettings);
}
}
}
Вы имеете в виду, что хотите установить/снять это из своего приложения? Невозможно.