WebView addJavascriptInterface fonction avec paramètres

J'ai ajouté une interface JavaScript à WebView.

Je peux utiliser toutes les fonctions qui n'ont pas de paramètres.

Mais quand j'ai donné le paramètre de JavaScript. La fonction n'est pas appelée par WebView.

Voir le code

Javascript

function getCellString(row, column) { return Report.getCellString(row,column); } 

WebView

 webView.addJavascriptInterface(new JavaScriptInterface(), "Report"); 

Interface Javascript

 public class JavaScriptInterface { public String getCellString(int row, int column) { return row + "," + column; } } 

Je ne sais pas si c'est parce que le type de retour de chaîne ou le paramètre de la fonction.

ÉDITÉ

J'ai essayé de ne pas donner de paramètres au getCellString () Encore il n'est pas appelé.

Cela signifie que le problème est avec le type de retour. J'ai donné le type de retour de chaîne qui n'est pas un type de données primitif.

Quelqu'un peut-il me dire quel type de données dois-je donner en lieu et place de String pour qu'il accepte?

LogCat après addJavaScriptInterface

  03-17 17:52:26.748: V/webcore(19908): ADD_JS_INTERFACE arg1=0 arg2=0 obj=android.webkit.WebViewCore$JSInterfaceData@44dfe378 03-17 17:52:26.858: V/webcore(19908): LOAD_URL arg1=0 arg2=0 obj=android.webkit.WebViewCore$GetUrlData@44dff760 03-17 17:52:26.858: V/webcore(19908): CORE loadUrl file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.858: V/webkit(19908): startLoadingResource: url=file:///data/data/mypackage/cache/html_report/ReportHTML.html, method=GET, postData=null, isMainFramePage=true, mainResource=true, userGesture=true 03-17 17:52:26.858: V/webkit(19908): LoadListener constructor url=file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.868: V/webview(19908): WEBCORE_INITIALIZED_MSG_ID 03-17 17:52:26.868: V/webkit(19908): LoadListener: from: file:///data/data/mypackage/cache/html_report/ReportHTML.html major: 1 minor: 1 code: 200 reason: OK 03-17 17:52:26.878: V/webkit(19908): LoadListener.headers 03-17 17:52:26.878: V/webcore(19908): 200 arg1=0 arg2=0 obj=null 03-17 17:52:26.878: V/webkit(19908): LoadListener.data(): url: file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.878: V/webkit(19908): LoadListener.data(): url: file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.888: V/webkit(19908): LoadListener.endData(): url: file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.898: V/webkit(19908): guessMimeTypeFromExtension: url = file:///data/data/mypackage/cache/html_report/ReportHTML.html 03-17 17:52:26.908: V/webview(19908): sendOurVisibleRect=(0,55,r=240,b=320 03-17 17:52:26.908: V/webview(19908): setCertificate=null 03-17 17:52:26.988: V/webkit(19908): LoadListener.detachRequestHandle(): requestHandle: null 03-17 17:52:27.098: V/webview(19908): SET_SCROLLBAR_MODES 03-17 17:52:27.098: V/webview(19908): SET_SCROLLBAR_MODES 03-17 17:52:27.098: V/webview(19908): SET_SCROLLBAR_MODES 03-17 17:52:27.098: V/webcore(19908): didFirstLayout standardLoad =true 03-17 17:52:27.108: V/webcore(19908): SET_SCROLL_OFFSET arg1=0 arg2=0 obj=Point(0, 0) 03-17 17:52:27.108: V/webview(19908): UPDATE_TEXT_ENTRY_MSG_ID 03-17 17:52:27.108: V/webcore(19908): SET_GLOBAL_BOUNDS arg1=0 arg2=0 obj=Rect(0, 55 - 240, 320) 03-17 17:52:27.118: V/webcore(19908): VIEW_SIZE_CHANGED arg1=0 arg2=0 obj=android.webkit.WebView$ViewSizeData@44d1d2c8 03-17 17:52:27.118: V/webcore(19908): viewSizeChanged w=313; h=353; textwrapWidth=313; scale=0.75 03-17 17:52:27.118: V/webcore(19908): viewSizeChanged 03-17 17:52:27.118: V/webcore(19908): SET_ACTIVE arg1=0 arg2=0 obj=null 03-17 17:52:27.128: V/webcore(19908): WEBKIT_DRAW arg1=0 arg2=0 obj=null 03-17 17:52:27.128: V/webcore(19908): webkitDraw start 03-17 17:52:27.128: V/webcore(19908): webkitDraw NEW_PICTURE_MSG_ID 03-17 17:52:27.128: V/webcore(19908): UPDATE_CACHE_AND_TEXT_ENTRY arg1=0 arg2=0 obj=null 03-17 17:52:27.128: V/webview(19908): NEW_PICTURE_MSG_ID 03-17 17:52:27.128: V/webview(19908): NEW_PICTURE_MSG_ID {0,0,313,353} 03-17 17:52:27.128: V/webview(19908): UPDATE_TEXT_ENTRY_MSG_ID 03-17 17:53:28.266: V/websync(19908): *** WebSyncManager sync *** 03-17 17:53:28.266: V/websync(19908): CookieSyncManager::syncFromRamToFlash STARTS 03-17 17:53:28.268: V/websync(19908): CookieSyncManager::syncFromRamToFlash DONE 

Si vous modifiez les paramètres de méthode d' int à String la fonction devrait être appelable à partir de WebView :

 public String getCellString(String row, String column) { return row + "," + column; }