android – Cordova:StatusBar插件适用于模拟器,但不适用于设备
作者:互联网
我有一个cordova项目,我安装了StatusBar插件,为Android平台中设备的状态栏着色.如果我在AVD(pic1)上运行项目,插件会显示正确的状态栏颜色,但是当我在设备上运行它时,它似乎不起作用.
我还注意到,当我在设备上运行项目并卸载了插件时,视图会占用整个屏幕,但是如果我在安装了插件的情况下运行它,应用程序视图与手机导航的顶部和底部之间会出现黑色空间酒吧和状态栏(图2).
设备:三星S9运行Android 8.0.0(奥利奥)
Cordova版本:8.0.0
StatusBar插件版本:2.4.2
Cordova白名单插件:1.3.3
index.js:
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
this.receivedEvent('deviceready');
StatusBar.backgroundColorByHexString("#CF4D4D");
},
// Update DOM on a Received Event
receivedEvent: function(id) {
}
};
app.initialize();
解决方法:
我已经测试了你的代码,它可以在Android 5,6,7和8.1的4个不同设备上正常工作,所以它显然是插件中的一个错误. (可能是设备特定或供应商特定)
因此,请在https://issues.apache.org/jira/browse/CB上报告,提供所有可能的信息. (关于这个“问题”的信息应该足够了)
标签:android,cordova,cordova-plugins,android-statusbar 来源: https://codeday.me/bug/20190701/1347036.html