dim*_*s93 7 c# android xamarin
我尝试了3种不同的方式
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
System.Environment.Exit(0);
public override void OnBackPressed()
{
Finish();
}
public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
{
if (keyCode == Keycode.Back)
{
System.Environment.Exit(0);
return true;
}
return base.OnKeyDown(keyCode, e);
}
Run Code Online (Sandbox Code Playgroud)
上述似乎都没有奏效
Dem*_*ian 20
按下物理后退按钮时,可以使用DepedencyService关闭应用程序:
在您的UI(PCL)中,执行以下操作:
protected override bool OnBackButtonPressed()
{
if (Device.RuntimePlatform == Device.Android)
DependencyService.Get<IAndroidMethods>().CloseApp();
return base.OnBackButtonPressed();
}
Run Code Online (Sandbox Code Playgroud)
还要创建一个接口(在您的UI PCL中):
public interface IAndroidMethods
{
void CloseApp();
}
Run Code Online (Sandbox Code Playgroud)
现在在Android项目中实现Android特定的逻辑:
[assembly: Xamarin.Forms.Dependency(typeof(AndroidMethods))]
namespace Your.Namespace
{
public class AndroidMethods : IAndroidMethods
{
public void CloseApp()
{
Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32041 次 |
最近记录: |