Cordova Android 不会显示 StatusBar
Cordova Android Will Not Display StatusBar
我有一个问题一直在努力解决,none 我在网上看到的解决方案也有帮助。
很简单,所以您认为解决方案也是如此。
在 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>
如果您使用 '_blank'
,这些选项仅对 InAppBrowser
有效。
'_self'
= 在 Cordova 中打开 window
'_blank'
= 在 InAppBrowser 中打开 window
'_system'
= 在系统浏览器中打开
安装状态栏插件
cordova plugin add cordova-plugin-statusbar
如果仍然无效,请尝试在设备就绪事件后调用 show
StatusBar.show();
删除
StatusBar.overlaysWebView(true);
或者设置为false
也删除
<preference name="StatusBarOverlaysWebView" value="true" />
或者设置为false
OverlaysWebview男性状态栏透明
已接受的答案对我不起作用
对于仍然面临这个问题的任何人,
根据 Cordova plugin page
fullscreen: Sets whether the InappBrowser WebView is displayed
fullscreen or not. In fullscreen mode, the status bar is hidden.
Default value is yes.
所以,为了保持状态栏可见,在选项
中传递fullscreen: "no"
let browser = this.inAppBrowser.create(
"https://github.com"
"_target",
{ zoom: "no", location: "no", fullscreen: "no" }
);
我有一个问题一直在努力解决,none 我在网上看到的解决方案也有帮助。
很简单,所以您认为解决方案也是如此。 在 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>
如果您使用 '_blank'
,这些选项仅对 InAppBrowser
有效。
'_self'
= 在 Cordova 中打开 window'_blank'
= 在 InAppBrowser 中打开 window'_system'
= 在系统浏览器中打开
安装状态栏插件
cordova plugin add cordova-plugin-statusbar
如果仍然无效,请尝试在设备就绪事件后调用 show
StatusBar.show();
删除
StatusBar.overlaysWebView(true);
或者设置为false
也删除
<preference name="StatusBarOverlaysWebView" value="true" />
或者设置为false
OverlaysWebview男性状态栏透明
已接受的答案对我不起作用
对于仍然面临这个问题的任何人, 根据 Cordova plugin page
fullscreen: Sets whether the InappBrowser WebView is displayed fullscreen or not. In fullscreen mode, the status bar is hidden. Default value is yes.
所以,为了保持状态栏可见,在选项
中传递fullscreen: "no"
let browser = this.inAppBrowser.create(
"https://github.com"
"_target",
{ zoom: "no", location: "no", fullscreen: "no" }
);