要从assets文件夹访问JS函数,可以按照以下步骤进行操作:
在assets文件夹下创建一个名为"js"的文件夹,并将包含JS函数的文件放入其中。
在Android项目的src/main目录下创建一个名为"javascript"的文件夹,然后在该文件夹下创建一个名为"WebViewInterface.java"的Java文件。在这个文件中,创建一个用于与网页交互的接口。
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
public class WebViewInterface {
private WebView webView;
public WebViewInterface(WebView webView) {
this.webView = webView;
}
@JavascriptInterface
public void callJSFunction(String functionName, String parameter) {
webView.loadUrl("javascript:" + functionName + "('" + parameter + "')");
}
}
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewInterface(webView), "Android");
webView.loadUrl("file:///android_asset/index.html");
}
}
function showToast(message) {
alert(message);
}
现在,当点击网页中的按钮时,将调用Java中的"showToast"函数,并显示一个包含传入的消息的弹窗。这样就实现了从assets文件夹访问JS函数的功能。