Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止Android后退按钮功能_Javascript_Android_Cordova_Ionic Framework - Fatal编程技术网

Javascript 防止Android后退按钮功能

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

我试图阻止android后退按钮返回到我的应用程序的某个页面。网络上的每个地方都建议使用下面的代码,但它不起作用。我在“backbutton”事件侦听器中放置了一个断点,它正好命中。然而,该应用程序仍然返回一个页面

我在Cordova(4.0.0)上使用了Ionic。我正在用Android(4.4.2)模拟器测试它

有什么想法吗

这是我正在使用的代码

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()?不知道我怎么会错过这个功能。它工作得很好。谢谢你的帮助。