我的项目是使用主从导航构建的。
列表中共有三个页面,分别命名为资源、联系人和登录。
在 iOS 中一切正常,但是当用户按下 Droid/WinPhone 设备硬件后退按钮时,应用程序应该退出。
Xamarin Forms 是否有任何适用于所有设备的应用程序退出机制。? (我的意思是 native 代码不依赖于平台)
提前致谢。
最佳答案
我是这样做的
在 xamarin 表单中,我添加了界面
public interface INativeHelper
{
void CloseApp();
}
在 android 项目中,我实现了 INativeHelper
public class NativeHelper : INativeHelper
{
public void CloseApp()
{
Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
}
}
IOS中INativeHelper的实现
public class NativeHelper : INativeHelper
{
public void CloseApp()
{
Process.GetCurrentProcess().CloseMainWindow();
Process.GetCurrentProcess().Close();
}
}
然后只需覆盖 Xamarin.Forms 项目页面中的 OnBackButtonPressed 方法
protected override bool OnBackButtonPressed()
{
INativeHelper nativeHelper = null;
nativeHelper = DependencyService.Get<INativeHelper>();
if (nativeHelper != null)
{
nativeHelper.CloseApp();
}
return base.OnBackButtonPressed();
}
我没有为 WinPhone 做实现,但它应该是相似的。
关于xamarin.android - 如何退出 Xamarin Forms 中的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40254023/