繁体   English   中英

Cordova Android 不会显示状态栏

[英]Cordova Android Will Not Display StatusBar

我有一个我一直在尝试解决的问题,我在网上看到的解决方案都没有帮助。

很简单,所以你认为解决方案也是如此。 在 Cordova 构建的 Android 平台上,我正在使用在 config.xml 中设置的 StatusBar 插件并显示它......是的,我不想在应用程序中显示它并显示它每次应用程序运行时它似乎都被隐藏了。

在我的 InAppBrowser 选项字符串中,我还设置了 fullscreen=no 这样也不会影响它。

在模拟器和设备上运行应用程序都将其隐藏。 有人可能知道强制显示状态栏的解决方案吗?如果没有,这是什么原因?

onDeviceReady: function() {
StatusBar.overlaysWebView(true);
    //InAppBrowser Init
    var options = "location=no,fullscreen=no,zoom=no"
    Browser = cordova.InAppBrowser.open('http://www.app.example', '_self', options);

StatusBar 插件也被正确导入,可以在这里看到,这是通过 plugman 完成的:

在此处输入图像描述

这是我的 Config.xml 文件以获得更好的支持信息:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.pulse_co" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
</feature>
<feature name="NetworkStatus">
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
</feature>
<feature name="Whitelist">
    <param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />
    <param name="onload" value="true" />
</feature>
<feature name="OneSignalPush">
    <param name="android-package" value="com.plugin.gcm.OneSignalPush" />
</feature>

<name>Pulse</name>
<description>
    Add Pulse App Description Here
</description>
<author email="email@test.com" href="https://support.example.com">
    Team
</author>
<content src="index.html" />
<access origin="https://root.domain.co*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-intent href="market:*" />
<preference name="loglevel" value="DEBUG" />
<preference name="StatusBarOverlaysWebView" value="true" />
<feature name="StatusBar">
    <param name="android-package" value="org.apache.cordova.statusbar.StatusBar" />
    <param name="onload" value="true" />
</feature>

安装状态栏插件

cordova plugin add cordova-plugin-statusbar

如果这仍然不起作用,请尝试在 deviceready 事件后调用 show

StatusBar.show();

消除

StatusBar.overlaysWebView(true);

或者设置为假

同时删除

<preference name="StatusBarOverlaysWebView" value="true" />

或者设置为假

OverlaysWebview 男性状态栏透明

如果您使用'_blank' ,这些选项仅对InAppBrowser有效。

  • '_self' = 在 Cordova window 中打开
  • '_blank' = 在 InAppBrowser window 中打开
  • '_system' = 在系统浏览器中打开

接受的答案对我不起作用

对于仍然面临这个问题的任何人,根据Cordova 插件页面

fullscreen:设置 InappBrowser WebView 是否全屏显示。 在全屏模式下,状态栏是隐藏的。 默认值为yes

因此,为了保持状态栏可见,请在选项中传递fullscreen: "no"

let browser = this.inAppBrowser.create(
      "https://github.com"
      "_target",
      { zoom: "no", location: "no", fullscreen: "no" }
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM