使用Xamarin for Android,我使用第三方组件通过PIN在我的应用上的各种活动上创建锁定屏幕。
当用户第一次登录时,系统会提示他们创建一个图钉。这会触发第三方创建引脚的活动。如果用户在该活动时点击后退按钮,则会退回到我的应用的主屏幕,并绕过引脚创建和验证。
我无权修改第三方内部活动的代码。
我也通过对组件的方法调用启动活动,而则不使用StartActivity 调用。
我需要一种方法来禁用或覆盖这些内部活动的onBackPressed事件。 有没有办法禁用整个应用程序的后退按钮,然后在用户从第三方组件返回时重新启用它?
关于如何为我没有修改权限的活动禁用OnBackPressed事件的任何想法?
PS:该组件是Xamarin锁屏。
答案 0 :(得分:0)
如果你可以使用3rdy part组件活动作为你的活动的基类,或者扩展它来创建你自己的类,你就可以像这样重写OnBackPressed:
public class yourNewActivity: ThirdyPartActivityClass{
//...
public override void OnBackPressed()
{
if (BackEventEnabled)
base.OnBackPressed();
}
}
你班上的哪个地方 public bool BackEventEnabled = true; (或禁用false);
在使用组件的方法启动活动之前 你可以做到
BackEventEnabled = false;
之后
BackEventEnabled = true;
我不知道无论如何都可以帮助你或其他人,甚至可以为更好的想法或解决方法/黑客提供一个起点。我希望如此。