Android:从javascript传递变量调用Java中的函数

Android: Calling a function in java from javascript passing variables

本文关键字:Java 调用 函数 变量 javascript Android      更新时间:2023-09-26

我在这里有点迷茫...我一直在网上寻找,但我没有找到任何类似我正在寻找的东西。这就是我在java中所做的

ClsAccessor accessors = new ClsAccessor();

class ClsAccessor{
    public String WorkingWithJason(String Json){
        String JsonVar;
        JsonVar ="";
        if (Json != ""){
            generateNoteOnSD("JsonFile.txt", Json);
        }
        JsonVar = getfileFromSDCard("JsonFile.txt");
        return JsonVar;
    }
    public void generateNoteOnSD(String Name, String data){
    //....
    }
    public String getfileFromSDCard(String Name){
    //....
    String data;
    //data = ".....";
    return data;
    }
}

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.addJavascriptInterface(accessors, "accessor");
    mWebView.loadUrl("file:///android_asset/Main.html");
    mWebView.setWebViewClient(new HelloWebViewClient());

}

更重要的是,这是我在 JavaScript 上所需要的

var text = "";
function SendData(RecievedTextVariable){
    var text = accessor.WorkingWithJason(RecievedTextVariablejsn);  
    document//accessor.outWorkingWithJason(textjsn);  
    $("#main_div").html("bbbbbb bbbbbbbb"+text);
} 

任何想法或任何例子?

mWebView.addJavascriptInterface(new YourInterface(), "something");
class YourInterface{
    public void out(String value){
        // do something
    }
}

而不是document.out(text)使用something.out(text).