PhoneGap的Android的后退按钮W /离子和角(Phonegap Android Back

2019-09-27 18:15发布

我有禁用针对Android的返回按钮使用离子框架/角的JS的PhoneGap项目的问题。 我已经尝试了许多其他提议的解决方案无济于事。 问题是我有一个“登录”屏幕,这是一个模式(ionicModal),而Android用户能够使用返回按钮即可离开,不管他们是在或未登录的。

我尝试禁用Android的后退按钮都在一起。 该事件触发,但页面导航仍然发生。 我觉得,如果这个工作,这将是理想的,最直接的解决方案。 这里虽然preventDefault()方法和stopPropagation()似乎没有任何效果。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    document.addEventListener("backbutton", onBackKeyDown, false);
}

function onBackKeyDown(e) {
    alert('back button triggered');
    e.preventDefault();
    e.stopPropagation();
}

我也试图通过听$ locationChangeStart和预防禁止从内部角度导航:

// Disable "Back" button on androids if user is on login screen
$rootScope.$on('$locationChangeStart', function(e) {
    if( true ) {
        e.preventDefault();
        e.stopPropagation();
    }
});

这也似乎工作,但不知何故却仍然无法阻止Android的从隐藏模式,并打算到上一画面。

是否有禁用Android的后退按钮以适当的方式使用的PhoneGap /离子时/角? 它采用了折角UI路由器,和模态不是一个路线,而是一个ionicModal。

Answer 1:

似乎有一个名为布尔属性“hardwareBackButtonClose” ,你可以在模式设置,以确定是否可以模式使用硬件后退按钮在Android和类似设备被关闭。 默认为:真实,所以尽量将其设置为false。



Answer 2:

开始在周围GitHub上离子码挖后,我看到了他们最近添加了此作为一个选项,以模态。 我能只适用于这个突出提交更改并得到这个工作:

https://github.com/driftyco/ionic/commit/61f879bb535997078f73b7faa424e43699e0b018

还添加以下常量,每犯https://github.com/driftyco/ionic/commit/e9d8eba12b4de48617e9335e113c7c98173909b7

var PLATFORM_BACK_BUTTON_PRIORITY_MODAL = 200;


文章来源: Phonegap Android Back Button w/ Ionic and Angular