I came across this issue working on Petrol Spy and there was no working solution for the latest android cordova version
YourProject.java - this is your activity
package com.pineconesoft.yourproject;
import org.apache.cordova.CordovaActivity;
import org.apache.cordova.CordovaWebViewEngine;
import org.apache.cordova.CordovaPreferences;
import org.apache.cordova.engine.SystemWebViewEngine;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.os.Build;
import android.graphics.Color;
public class YourProject extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
// Load your application
loadUrl(launchUrl);
// Below are my custom changes
// Change navigation bar color
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor("#FF4C4F4F"));
}
// That should help remove black blinking when opening keyboard
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
}
// custom webview
@Override
protected CordovaWebViewEngine makeWebViewEngine() {
return new SystemWebViewEngine(new YourProjectWebView(this), preferences);
}
}
YourProjectWebView.java
package com.pineconesoft.yourproject;
import android.view.inputmethod.EditorInfo;
import android.text.InputType;
import android.view.inputmethod.InputConnection;
import android.content.Context;
import org.apache.cordova.engine.SystemWebView;
import android.util.AttributeSet;
public class YourProjectWebView extends SystemWebView {
public YourProjectWebView(Context context) {
this(context, null);
}
public YourProjectWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
// this is to add decimal point to numeric input keyboard on older samsung devices (Samsung s3 or sIII).
// Test at http://developer.samsung.com/remotetestlab/rtlDeviceList.action
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection connection = super.onCreateInputConnection(outAttrs);
if ((outAttrs.inputType & InputType.TYPE_CLASS_NUMBER) == InputType.TYPE_CLASS_NUMBER)
{
outAttrs.inputType |= InputType.TYPE_NUMBER_FLAG_DECIMAL;
}
return connection;
}
}
YourProject.java - this is your activity
package com.pineconesoft.yourproject;
import org.apache.cordova.CordovaActivity;
import org.apache.cordova.CordovaWebViewEngine;
import org.apache.cordova.CordovaPreferences;
import org.apache.cordova.engine.SystemWebViewEngine;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.os.Build;
import android.graphics.Color;
public class YourProject extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
// Load your application
loadUrl(launchUrl);
// Below are my custom changes
// Change navigation bar color
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor("#FF4C4F4F"));
}
// That should help remove black blinking when opening keyboard
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
}
// custom webview
@Override
protected CordovaWebViewEngine makeWebViewEngine() {
return new SystemWebViewEngine(new YourProjectWebView(this), preferences);
}
}
YourProjectWebView.java
package com.pineconesoft.yourproject;
import android.view.inputmethod.EditorInfo;
import android.text.InputType;
import android.view.inputmethod.InputConnection;
import android.content.Context;
import org.apache.cordova.engine.SystemWebView;
import android.util.AttributeSet;
public class YourProjectWebView extends SystemWebView {
public YourProjectWebView(Context context) {
this(context, null);
}
public YourProjectWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
// this is to add decimal point to numeric input keyboard on older samsung devices (Samsung s3 or sIII).
// Test at http://developer.samsung.com/remotetestlab/rtlDeviceList.action
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection connection = super.onCreateInputConnection(outAttrs);
if ((outAttrs.inputType & InputType.TYPE_CLASS_NUMBER) == InputType.TYPE_CLASS_NUMBER)
{
outAttrs.inputType |= InputType.TYPE_NUMBER_FLAG_DECIMAL;
}
return connection;
}
}