似乎与目前的PhoneGap实现不可能添加回按钮处理程序,并仍然允许应用程序关闭后退按钮。
在CordovaView.xaml.cs
很少黑客解决了这一成的PhoneGap,通过改变page_BackKeyPress方法更改,如果(OverrideBackButton)到
string cancel = "false";
if (OverrideBackButton)
{
try
{
cancel = CordovaBrowser.InvokeScript("shouldCancelBackButton") as string;
Console.WriteLine("CancelBackButton response: " + cancel);
}
catch (Exception ex)
{
Console.WriteLine("Exception while checking for backbutton cancel into cordova view: " + ex.Message);
}
try
{
e.Cancel = cancel == "true";
CordovaBrowser.InvokeScript("CordovaCommandResult", new string[] { "backbutton" });
}
catch (Exception ex)
{
Console.WriteLine("Exception while invoking backbutton into cordova view: " + ex.Message);
}
}
现在我可以在页面中添加shouldCancelBackButton JS功能和基于打开状态抑制或执行默认后退按钮处理程序行为。
可能它不是最好的解决方案,但不幸的是我没有时间更熟悉PhoneGap内部。
我不确定电话事件处理程序是否可能。至少我还没有找到一种方法来禁止后退按钮的默认处理程序。 – PiRX 2012-04-12 13:05:36
你不能像我在jQuery/HTML中那样“返回true”吗? – TDaver 2012-04-12 13:12:19
你能指点我看看,看看你在说什么吗?谢谢! – PiRX 2012-04-18 07:17:03