防止后退按钮退出Cordova插件中的Android应用程序

时间:2015-08-26 18:14:02

标签: java android cordova cordova-plugins

我正在创建一个基于Android Camera2Video示例的Cordova插件: http://developer.android.com/samples/Camera2Video/index.html

我的插件代码在这里工作: https://github.com/kmturley/cordova-plugin-media-custom

当我在WebView中按下Android后退按钮时,我可以使用以下JavaScript代码成功控制它的行为:

document.addEventListener('backbutton', function (e) {
    e.preventDefault();
    window.alert('back pressed');
}, false);

然而,当我显示本机插件叠加层时按下相同的后退按钮时,JavaScript将被忽略并且应用程序退出。

如何捕获后退按钮事件并使用它来触发我的插件hide()方法?

以下是处理JavaScript后退按钮的Cordova代码的链接: https://github.com/apache/cordova-android/blob/4bf705a3d39b34400388265381a9975b246e3779/framework/src/org/apache/cordova/CoreAndroid.java#L231 https://github.com/apache/cordova-android/blob/4bf705a3d39b34400388265381a9975b246e3779/framework/src/org/apache/cordova/CordovaWebViewImpl.java#L549

2 个答案:

答案 0 :(得分:1)

在您的活动中,覆盖方法onBackPressed()。用户点击“返回”按钮时会调用它。

答案 1 :(得分:0)

你可以覆盖onBackPressed,而是调用你的插件方法。