我试图阻止Android后退按钮返回我的应用程序的某个页面。网上随处可见建议下面的代码,但它不起作用。我在“后退”按钮中设置了一个断点。事件监听器,它命中就好了。然而,应用程序仍然会返回页面。
我在Cordova(4.0.0)上使用Ionic。我正在使用Android(4.4.2)模拟器进行测试。
有什么想法吗?
这是我正在使用的代码。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false );
}
答案 0 :(得分:0)
把它放在你的父亲活动中
@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);
}
答案 1 :(得分:0)
我在Iconic forum找到了与此相关的帖子。
示例脚本:
$ionicPlatform.registerBackButtonAction(function () {
//handle back action
}, 100);
P.S:您还可以按照this answer 中的说明禁用backButton功能。