1

プロジェクトを 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); } }

4

1 に答える 1