2016-05-19 15 views
0

Fußgängerübergang 16.45.421.19Kann nicht js Funktion ‚ändern‘ oder ‚bestätigen‘ in Überweg

Ich benutze Überweg als Bibliothek in meinem Projekt, aber wenn ich js Funktion ‚Alarm‘ in meinem html nennen, gibt es einige Fehler.

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 

ich die Quelle von Zebrastreifen zu sehen, in XWalkUIClientInternal.java

@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; 
} 

R.string.js_alert_title ist die Ressource-ID für Fussgängerübergang, ist es nicht lokale Ressourcen-ID in meinem Projekt, warum Überweg don Verwenden Sie keine dynamische Lade lokale Ressource für Alert-Funktion, und wie resovle?

Antwort

0

Crosswalk funktioniert gut beim Aufruf der js 'alert' Funktion. Zum Beispiel gibt es einen js_java_interaction.html in Vermögenswerte Ordnern:

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

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

Legen Sie die HTML in Ihrer Aktivität: mXWalkView.load("file:///android_asset/js_java_interaction.html", null);

Und nach dem Laden, bitte evaluateJavascript() API verwenden:

call = "javascript:alertMessage(\"" + "content" + "\")"; 
xwalkview.evaluateJavascript(call, null); 
Verwandte Themen