c# - 防止用户返回上一个 Activity

标签 c# android ios xaml xamarin

我正在处理 Xamarin.Forms 项目,在我的 PCL 中我创建了名为“Login.xaml”的启动页面。在此页面上,用户必须填写其凭据并将其发送到 WebAPI。当 API 返回“1”/true 时,它​​会打开一个名为“Home.xaml”的新页面。

如何防止用户在按下手机上的后退按钮时返回登录页面?即:用户在第一页登录,webapi 对其进行验证并返回“1”,以便打开新页面(“主页”),但是当用户按下“后退”按钮时,它会返回到登录屏幕。在应用程序关闭之前,这应该是不可能的。

最佳答案

您可以在推送 Home.xaml 时从导航堆栈中删除登录页面:

await Navigation.PushAsync(new Home());  // or whatever your page is called
Navigation.RemovePage(this);

这样,在您的用户到达主页后就没有什么可返回的了。

为此,您的登录页面需要是 NavigationPage。为此,您必须使用 NavigationPage 构造器将其包装起来:

// this goes into your App.cs where you enter your app:
public App()
{
    MainPage = new NavigationPage(new Login()); // or whatever your login page is called
}

我建议您查看文档:Introduction to Xamarin Forms - Navigation

关于c# - 防止用户返回上一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35917985/

相关文章:

ios - 更改IOS工程名xcode导致的错误

ios - Swift:将 UIImage 保存并检索到 CoreData 中

c# - windows installer安装完成后如何删除文件?

android - 从标题 TextView 小部件设置文本

android - iOS 应用签名和所有权

Android Honeycomb 和 imeOptions

c# - 统一下载后如何检查可寻址 Assets 或场景是否被缓存?

c# - 设计提示,薪资系统...重新发布

c# - 我应该如何在不实例化不必要地缓存的对象的情况下填充 MemoryCache?

ios - 如何在 tableview 中增加和减少标签的值,并在 swift 中根据标签值计算总价?