【问题标题】:how to quit the application from my android device back button in Cordova?如何从 Cordova 中的 android 设备后退按钮退出应用程序?
【发布时间】:2016-11-30 06:38:53
【问题描述】:

我是一个新的 Cordova 网络开发人员,我正在创建一个使用 inapbrowser 自动加载网站的应用程序,我的问题是:加载网站后,当我点击后退按钮时,它没有关闭应用程序,而是返回到包含inapp浏览器的空白页面,当我按下返回按钮时如何退出应用程序??

【问题讨论】:

  • 嗨,Imen,建议您查看此链接 - stackoverflow.com/help/how-to-ask 如果您不遵循此链接,您最终可能会因您的问题而获得大量反对票并最终失去您的声誉和这个问题将被关闭。我知道您对此并不陌生,但我之所以这么说,是因为我之前也遇到过同样的问题

标签: android cordova inappbrowser back-button-control


【解决方案1】:

您可能可以在 InAppBroswer 页面加载时注册一个后退按钮事件,并在单击后退按钮时退出应用程序。示例代码如下:

function onBodyLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
    //inapp is a sample button's id available in HTML
    $('#inapp').click( function() 
    {   

        try {               
            ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
            ref.addEventListener("exit", onBackButton, false); 
        }
        catch(err) {
            alert("Plugin Error - " + err.message);
        }

    });     

    function onBackButton(e) {
        alert("back button pressed");
        navigator.app.exitApp();
    }    
}

您问题的关键在于Official InAppBrowser Plugin Page 的addEventlistener 部分。

【讨论】:

  • 我尝试使用这个示例,但它不起作用,我有这个错误 "Uncaught TypeError: Cannot call method 'confirm' of undefined"
  • @Imen.A 您必须安装 cordova-plugin-dialogs 插件才能使用导航器通知。否则你也可以使用简单的 javascript alertbox
  • 这是我的代码,没有导航通知,有什么问题document.addEventListener('deviceready', function(){ cordova.InAppBrowser.open('http://example.com', '_blank', 'location=no'); document.addEventListener("backbutton", onBackKeyDown, false); }); function onBackKeyDown() { navigator.app.exitApp(); }
  • @Imen.A 请找到在安卓设备中测试过的更新答案
  • @Imen.A 也更新了我之前为您构建的 github 项目中的代码 - github.com/gandhirajan/Cordova_InAppBrowser
猜你喜欢
  • 2019-09-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
  • 2014-01-02
相关资源
最近更新 更多