Construcción de WebView personalizado con Cordova 5.0 en Android

Quiero crear un WebView personalizado con Cordova. Para hacer esto quiero sobrescribir setWebChromeClient y los métodos setWebViewClient. Pero para eso necesito tener un SystemWebViewClient que requiere un SystemWebViewEngine, que no puedo parecer llegar a este punto. Heres mi actividad principal

public class MyActivity extends CordovaActivity implements CordovaInterface { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int threadSize = getResources().getInteger(R.integer.WIPThreadPoolSize); // Initiate Thread pool threadPool = new ThreadPoolExecutor(threadSize, threadSize, 10, TimeUnit.SECONDS, this.priorityQueue); initApplicationInformationManager(); // initialize global variables GlobalApplicationVariables.initValues(this); isActivityReady = false; isActivityReady = false; setContentView(R.layout.main_layout); super.init(); } protected CordovaWebView makeWebView() { SystemWebView webView = (SystemWebView) findViewById(R.id.customWebView); SystemWebViewEngine engine = new SystemWebViewEngine(webView); return new CordovaWebViewImpl(engine); } protected void createViews() { appView.getView().requestFocusFromTouch(); } } 

Y mi webvista personalizada:

 @SuppressLint("SetJavaScriptEnabled") public class CustomWebView extends SystemWebView { private DebugServiceClient dbgClient; public CustomWebView(Context context) { super(context); this.configureView(context); } public CustomWebView(Context context, AttributeSet attributeSet) { super(context, attributeSet); this.configureView(context); } /** * Configure the web view. * * @param context * Context web view is running in. */ private void configureView(Context context) { //Make the WebView visible and hide its scroll bars setVisibility(View.VISIBLE); setVerticalScrollBarEnabled(false); setHorizontalScrollBarEnabled(false); setOverScrollMode(OVER_SCROLL_NEVER); WebSettings webSettings = getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); webSettings.setAppCacheEnabled(false); webSettings.setDomStorageEnabled(true); final MyActivity myActivity = (MyActivity) context; setWebChromeClient(new SystemWebChromeClient(new SystemWebViewEngine(this)) { public void onShowCustomView(View view, CustomViewCallback callback) { /*Custom code*/ } public void onHideCustomView() { /*Custom code*/ } }); setWebViewClient(new SystemWebViewClient(new SystemWebViewEngine(this)) { public boolean shouldOverrideUrlLoading(WebView webview, String url) { /*Custom code*/ } public void onReceivedError(WebView view, int errorCod, String description, String failingUrl) { Log.e("Webview Error", errorCod + " - " + description + failingUrl); } }); } } 

Realmente no se puede obtener un motor para que los métodos pueden ser sobrescritos, por lo que acaba de crear uno sobre la marcha, pero esto genera algunos errores. Además, no puedo acceder al Cordova Plugin Manager y, por consiguiente, no puedo añadir complementos a la webview. ¿Cuál es la mejor manera de hacer esto?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.