离开 Android 应用程序的适当方式? (赛马林)
The appropriate way to leave an Android app? (Xamarin)
我正在使用 Xamarin 开发 Android。该应用程序有一个登录模式,我希望登录模式上的后退按钮的行为实质上退出该应用程序,就像您在导航堆栈的末尾一样。
这可能吗?
如果您通过新的 Activity 在 android 上显示模态,请像这样重写模态 activity 中的 OnBackPressed:
public override void OnBackPressed()
{
Intent intent = new Intent(Intent.ActionMain);
intent.AddCategory(Intent.CategoryHome);
intent.SetFlags(ActivityFlags.NewTask);
StartActivity(intent);
}
由于@wishmaster 提供的解决方案确实给出了我正在寻找的行为的外观,我将他的标记为可接受。
为了完整起见,我 运行 找到了一个更合适的解决方案。 Activity
class 上有一个 MoveTaskToBack()
方法。所以这就是我的解决方案:
public void CloseApp()
{
var mainActivity = Forms.Context as MainActivity;
if (mainActivity != null)
mainActivity.MoveTaskToBack(true);
}
稍微解释一下上下文。我正在开发一个 Xamarin Forms 应用程序,这是一个注入登录表单页面的接口方法。
我正在使用 Xamarin 开发 Android。该应用程序有一个登录模式,我希望登录模式上的后退按钮的行为实质上退出该应用程序,就像您在导航堆栈的末尾一样。
这可能吗?
如果您通过新的 Activity 在 android 上显示模态,请像这样重写模态 activity 中的 OnBackPressed:
public override void OnBackPressed()
{
Intent intent = new Intent(Intent.ActionMain);
intent.AddCategory(Intent.CategoryHome);
intent.SetFlags(ActivityFlags.NewTask);
StartActivity(intent);
}
由于@wishmaster 提供的解决方案确实给出了我正在寻找的行为的外观,我将他的标记为可接受。
为了完整起见,我 运行 找到了一个更合适的解决方案。 Activity
class 上有一个 MoveTaskToBack()
方法。所以这就是我的解决方案:
public void CloseApp()
{
var mainActivity = Forms.Context as MainActivity;
if (mainActivity != null)
mainActivity.MoveTaskToBack(true);
}
稍微解释一下上下文。我正在开发一个 Xamarin Forms 应用程序,这是一个注入登录表单页面的接口方法。