Sen*_*izh 1 xamarin.android xamarin.forms xamarin.windows
我的项目是使用主 - 细节导航构建的.列表中共有三个页面,分别为Resources,Contacts和Login.在iOS中一切正常,但当用户按下Droid/WinPhone设备硬件后退按钮时,应用程序应退出.是否有适用于所有设备的Xamarin Forms的app-exit机制.(我的意思是本机代码不依赖于平台)提前感谢.
我这样做了
在xamarin表格中我添加了界面
public interface INativeHelper
{
void CloseApp();
}
Run Code Online (Sandbox Code Playgroud)
在android项目中,我实现了INativeHelper
public class NativeHelper : INativeHelper
{
public void CloseApp()
{
Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
}
}
Run Code Online (Sandbox Code Playgroud)
在IOS中实现INativeHelper
public class NativeHelper : INativeHelper
{
public void CloseApp()
{
Process.GetCurrentProcess().CloseMainWindow();
Process.GetCurrentProcess().Close();
}
}
Run Code Online (Sandbox Code Playgroud)
然后在Xamarin.Forms项目中重写方法OnBackButtonPressed
protected override bool OnBackButtonPressed()
{
INativeHelper nativeHelper = null;
nativeHelper = DependencyService.Get<INativeHelper>();
if (nativeHelper != null)
{
nativeHelper.CloseApp();
}
return base.OnBackButtonPressed();
}
Run Code Online (Sandbox Code Playgroud)
我没有为WinPhone实现,但它应该是类似的.
| 归档时间: |
|
| 查看次数: |
9487 次 |
| 最近记录: |