javascript - 刷新后,我的 webview 没有设置正确的屏幕方向

标签 javascript android cordova webview phonegap

标题可能有点不清楚,所以我要解释一下我的问题是什么。在我的混合应用程序中,我使用了 <plugin spec="2.3.0" name="cordova-plugin-crosswalk-webview" source="npm" /> (config.xml) 以便能够在旧系统上发布我的应用程序。我还使用这个 <plugin name="cordova-plugin-screen-orientation" source="npm" spec="2.0.0" /> 将方向设置为横向然后在 index.html 中

function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
        screen.orientation.lock('landscape');
    }

我还添加了一个功能,可以在点击 android 栏上的箭头后关闭我的应用程序

function onBackKeyDown() {
    navigator.app.exitApp();
    }

目前一切正常。问题是,在关闭我的应用程序后,它仍在 RAM 中,您可以单击 android 栏上的右键返回它。通常这不是问题,因为应用程序应该重新启动。但就我而言,它忘记加载方向设置。我花了 5 个小时才找到原因。从我的应用程序中删除人行横道后,我找到了原因。我的手机不需要人行横道,因为它有 android 7.1.1,但我需要它来发布我的应用程序。但是人行横道好像就是这个问题。从 RAM“支持”到应用程序后会出现一些错误。所以我有两个问题:在这种情况下,有没有办法“提醒”我的 Webview 加载这个方向?我可以在两个文件中发布我的应用程序,用于新手机和旧手机(在商店的一个位置下)吗?

最佳答案

尝试添加

<preference name="orientation" value="landscape" />

到您的 config.xml 文件。这应该将方向锁定为横向。

resume当 native 平台从后台拉出应用程序时会触发事件。您可以添加事件监听器,然后重新运行代码以锁定方向。

您可以使用 cordova-plugin-device 插件检测操作系统和操作系统版本。这将获得这两个值。

var os  = device.platform;  // Get the OS
var os_version = device.version;  // Get the OS version

然后您可以根据操作系统版本运行不同的代码。根据应用程序对每个版本的作用有多大不同,它可能值得一读 https://developer.android.com/google/play/publishing/multiple-apks.html

编辑:

您可以将以下代码添加到您的 config.xml 中,这应该允许方向为横向和反向横向:

<preference name="orientation" value="landscape" />
<config-file platform="android" parent="/manifest/application" mode="merge">
    <activity android:screenOrientation="sensorLandscape" />
</config-file>

您可以在这里找到其他选项:https://developer.android.com/guide/topics/manifest/activity-element.html#screen

关于javascript - 刷新后,我的 webview 没有设置正确的屏幕方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46434397/

相关文章:

java - 耗时测量问题 - JAVA

iphone - 您可以使用PhoneGap在iPhone上录制音频吗?

javascript - 后台附件 : fixed not working in jquery mobile phonegap

ruby-on-rails - 从 XCode 访问 Mac 上的本地主机? Phonegap 使用 Ajax 与本地 Rails 应用程序通信

javascript - 检查 JValue 字符串在 AngularJS 中是否有值

javascript - 将 "this"传递给 jQuery 中的函数问题

android - 从 Web 开发到 Android 开发

Android M requestPermissions(ACCESS_COARSE_LOCATION),不显示对话框?

javascript - AngularJS 如何检查小数点位置

javascript - Bootstrap Accordion 崩溃问题