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

标签 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);

但是,当我在显示 native 插件覆盖层时按下相同的后退按钮时,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

最佳答案

在您的 Activity 中,重写方法 onBackPressed()。当用户点击“后退”按钮时调用它。

关于java - 防止后退按钮退出 Cordova 插件内的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233819/

相关文章:

java 将 unicode 字符打印到 bash shell (mac OsX)

java - 在 Android 中设置搜索 View 时遇到问题

java - 在 Ubuntu 中使用 Java 创建一个文件夹和一个文件

java - 使用 Spring Rest Template + Spring Web MVC 上传多部分文件(多个文件)

java - 如何将此代码从 iOS swift 转换为 Android Kotlin

android - 如何在 Xamarin 中将 FormsViewGroup.dll 的 $(TargetFrameworkVersion) 从 (v7.1) 减少到 (v6.0)

android - getLastKnownLocation() 返回 null

android - phonegap 构建 android;无法 build

Cordova:如何检测设备上是否禁用了推送通知?

windows - Windows Phone 8 phonegap CLI 中的 msbuild 失败