防止后退按钮退出 Cordova 插件中的 android 应用程序
Prevent the back button from quitting android app inside a Cordova plugin
我正在基于 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 代码的 link:
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
您可以覆盖 onBackPressed 并调用您的插件方法。
在您的 activity 中,覆盖方法 onBackPressed()
。当用户点击后退按钮时调用它。
我正在基于 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 代码的 link: 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
您可以覆盖 onBackPressed 并调用您的插件方法。
在您的 activity 中,覆盖方法 onBackPressed()
。当用户点击后退按钮时调用它。