来自javascript的Asynchronus Android调用

时间:2018-06-03 09:48:09

标签: javascript android webview

我想从Javascript调用Android函数:

final class javascriptinterface{
    @JavascriptInterface
    public void getFtpData(){...}
}

问题是getFtpData函数是异步的(这个方法从FTP服务器获取数据):

final class javascriptinterface{
    @JavascriptInterface
    public void getFtpData(callback){...}
}

如何使用异步函数实现javascript接口? 当Javascript代码调用Android异步方法时,我想将Android回调返回到这些javascript。

我尝试了以下代码,但它不起作用:

//----------------------
// Android
final class javascriptinterface{
    @JavascriptInterface
    public void getFtpData(ValueCallback<String> callback){
        ...
        ...
        getFtpDataAsyncTask(new FtpListener(){
            @Override 
            void onSuccess(String data){
                callback.onReceiveValue(data);
            }
        });
    }
}
//----------------------

//----------------------
// Javascript
getFtpData(function(result){
    alert("Callback from Android: " + result);
});
//----------------------

感谢。

0 个答案:

没有答案