Javascript 防止Android后退按钮功能
我试图阻止android后退按钮返回到我的应用程序的某个页面。网络上的每个地方都建议使用下面的代码,但它不起作用。我在“backbutton”事件侦听器中放置了一个断点,它正好命中。然而,该应用程序仍然返回一个页面 我在Cordova(4.0.0)上使用了Ionic。我正在用Android(4.4.2)模拟器测试它 有什么想法吗 这是我正在使用的代码Javascript 防止Android后退按钮功能,javascript,android,cordova,ionic-framework,Javascript,Android,Cordova,Ionic Framework,我试图阻止android后退按钮返回到我的应用程序的某个页面。网络上的每个地方都建议使用下面的代码,但它不起作用。我在“backbutton”事件侦听器中放置了一个断点,它正好命中。然而,该应用程序仍然返回一个页面 我在Cordova(4.0.0)上使用了Ionic。我正在用Android(4.4.2)模拟器测试它 有什么想法吗 这是我正在使用的代码 document.addEventListener("deviceready", onDeviceReady, false); function
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false );
}
把这个放在你父亲的活动里
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (!sharedPreferences.isBackButtonEnabled()) { // Save a flag in sharedPreferences to know when you have button enable or not.
return true;
}
}
return super.onKeyDown(keyCode, event);
}
然后,在片段中,您要阻止后退按钮:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sharedPreferences.setBackButtonEnabled(false);
}
如果你想在活在片段中时启用它:
@Override
protected void onDestroy() {
sharedPreferences.setBackButtonEnabled(true);
}
我在网上找到了一篇与此相关的帖子 示例脚本:
$ionicPlatform.registerBackButtonAction(function () {
//handle back action
}, 100);
附言:您还可以禁用backButton函数,如中所述。您是否尝试在活动中使用onBackPressed()?不知道我怎么会错过这个功能。它工作得很好。谢谢你的帮助。