2016-05-19 13 views
0

横断歩道16.45.421.19には、JS関数は、私は私のプロジェクトにライブラリとして横断歩道を使用しますが、私は私のhtmlでのjs関数「警告」を呼び出すときに、そこにある横断歩道

「を変更する」または「確認」することはできませんいくつかのエラー。

05-17 16:12:27.136: E/chromium(2559): [ERROR:xwalk_autofill_client.cc(172)]       Not implemented reached in virtual void   xwalk::XWalkAutofillClient::OnFirstUserGestureObserved() 
05-17 16:12:27.251: I/chromium(2559): [INFO:CONSOLE(376)] "exec() is calledSmartdotTelephone.deviceInfo", source: file:///android_asset/www/common/mau/MDHAdapter.js (376) 
05-17 16:12:27.271: W/ResourceType(2559): No package identifier when getting value for resource number 0x00000000 
05-17 16:12:27.271: W/System.err(2559): android.content.res.Resources$NotFoundException: String resource ID #0x0 
05-17 16:12:27.271: W/System.err(2559):  at android.content.res.Resources.getText(Resources.java:319) 
05-17 16:12:27.271: W/System.err(2559):  at android.content.res.Resources.getString(Resources.java:405) 
05-17 16:12:27.271: W/System.err(2559):  at android.content.Context.getString(Context.java:382) 
05-17 16:12:27.271: W/System.err(2559):  at org.xwalk.core.internal.XWalkUIClientInternal.onJsAlert(XWalkUIClientInternal.java:390) 
05-17 16:12:27.271: W/System.err(2559):  at org.xwalk.core.internal.XWalkUIClientInternal.onJavascriptModalDialog(XWalkUIClientInternal.java:166) 
05-17 16:12:27.271: W/System.err(2559):  at org.xwalk.core.internal.XWalkContentsClientBridge.handleJsAlert(XWalkContentsClientBridge.java:715) 
05-17 16:12:27.271: W/System.err(2559):  at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) 
05-17 16:12:27.271: W/System.err(2559):  at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53) 
05-17 16:12:27.271: W/System.err(2559):  at android.os.Handler.dispatchMessage(Handler.java:102) 
05-17 16:12:27.271: W/System.err(2559):  at android.os.Looper.loop(Looper.java:135) 
05-17 16:12:27.271: W/System.err(2559):  at android.app.ActivityThread.main(ActivityThread.java:5423) 
05-17 16:12:27.271: W/System.err(2559):  at java.lang.reflect.Method.invoke(Native Method) 
05-17 16:12:27.271: W/System.err(2559):  at java.lang.reflect.Method.invoke(Method.java:372) 
05-17 16:12:27.271: W/System.err(2559):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947) 
05-17 16:12:27.271: W/System.err(2559):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742) 
05-17 16:12:27.271: A/chromium(2559): [FATAL:jni_android.cc(249)] Check failed: false. Please include Java exception stack in crash report 

私はR.string.js_alert_titleは、横断歩道のリソースIDで

@XWalkAPI 
public boolean onJsAlert(XWalkViewInternal view, String url, String message, 
     XWalkJavascriptResultInternal result) { 
    final XWalkJavascriptResultInternal fResult = result; 
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mContext); 
    dialogBuilder.setTitle(mContext.getString(R.string.js_alert_title)) 
      .setMessage(message) 
      .setCancelable(true) 
      .setPositiveButton(mContext.getString(android.R.string.ok), 
        new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        fResult.confirm(); 
        dialog.dismiss(); 
       } 
      }) 
      .setOnCancelListener(new DialogInterface.OnCancelListener() { 
       @Override 
       public void onCancel(DialogInterface dialog) { 
        fResult.cancel(); 
       } 
      }); 
    mDialog = dialogBuilder.create(); 
    mDialog.show(); 
    return false; 
} 

XWalkUIClientInternal.java

で、横断歩道のソースを参照してください理由横断歩道ドン、それは、私のプロジェクトでローカルリソースIDではありませんアラート機能のために動的ロードローカルリソースを使用しません。どのようにresovleするのですか?

答えて

0

クロスウォークはjs 'alert'関数を呼び出す際にうまく機能します。

<html> 
<script type="text/javascript"> 

    function alertMessage(message) { 
     alert(message) 
    } 
</script> 
Java-Javascript Interaction In Android 
</html> 

ロードあなたの活動のHTML::たとえば は、資産フォルダにjs_java_interaction.htmlあり

call = "javascript:alertMessage(\"" + "content" + "\")"; 
xwalkview.evaluateJavascript(call, null); 
mXWalkView.load("file:///android_asset/js_java_interaction.html", null);

と読み込み後 は、evaluateJavascript()APIを使用してください