如何在 Xamarin.Forms for android 和 ios 中打开/关闭飞行模式?
正如
@Patrick霍夫曼和@DavidG所说。您无法在项目中通过代码打开/关闭飞行模式。但是,您可以使用依赖关系服务在表单中打开系统的设置页面,并让用户手动打开/关闭飞行模式。
在窗体中,添加新界面
public interface ISettingsService
{
void OpenSettings();
}
在 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:
是iOS中的私有API。所以如果你想上传到应用商店,它可能会被商店拒绝。
在安卓中
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);
}
}
}