プロジェクトを cordova 3 から cordova 6 に更新すると、WebChromeClient がないことがわかりましたが、プロジェクトはこのクラスを使用し、onJsPrompt() をオーバーライドしました。さて、OnJsPrompt() をオーバーライドするには、Cordova 6 に基づいてどのようにすればよいですか?
package com.qtby.gxwlc;
import org.apache.cordova.CordovaChromeClient;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaWebView;
import com.jsdemo.ClientTool;
import com.jsdemo.JsNativeFunc;
import android.content.Intent;
import android.webkit.JsPromptResult;
import android.webkit.WebView;
public class CustomerWebChromeClient extends CordovaChromeClient {
public CustomerWebChromeClient(CordovaInterface ctx, CordovaWebView app){
super(ctx, app);
}
JsNativeFunc jsNativeFunc;
public JsNativeFunc getJsNativeFunc(){
return jsNativeFunc;
}
public boolean isJsNativeFunc(int requestCode){
if(jsNativeFunc == null)
return false;
return jsNativeFunc.isJsNativeFunc(requestCode);
}
public void jsResult(int requestCode, int resultCode,
Intent intent){
jsNativeFunc.jsResult(requestCode, resultCode, intent);
}
@Override
public boolean onJsPrompt(WebView view, String origin, String message,
String defaultValue, JsPromptResult result) {
if(ClientTool.callNativeFunc(message)){
return super.onJsPrompt(view, origin, message, defaultValue, result);
}
return true;
}
return super.onJsPrompt(view, origin, message, defaultValue, result);
}
}