Androidブラウザからインターフェースを呼び出す方法は何ですか?

Androidブラウザは、次の方法でインターフェースを呼び出すことができます。

  1. AndroidブラウザにはWebViewコントロールが組み込まれていて、WebViewをアプリケーションに埋め込んでウェブページをロードできます。WebViewを使用すると、JavaScriptを介してウェブページと対話し、ウェブページ内のインターフェイスを呼び出すことができます。

ネイティブな日本語でパラフレーズしてください。1つの選択肢のみが必要です。

WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptInterface(), "AndroidInterface");
// 加载网页
webView.loadUrl("http://example.com");
// 在JavaScript中调用接口
webView.evaluateJavascript("javascript:AndroidInterface.methodName()", null);

JavaScriptInterfaceクラスは、JavaScriptから呼び出されるインタフェースメソッドを定義するJavaクラスで、JavaScriptではAndroidInterface.メソッド名()の形でインタフェースメソッドを呼び出せます。

  1. shouldOverrideUrlLoading()

ネイティブの日本語で言い換えます。選択肢は 1 つだけで結構です。

webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("javascript:")) {
// 解析JavaScript调用的方法名和参数
String methodName = getMethodNameFromUrl(url);
String[] args = getArgumentsFromUrl(url);
// 调用相应的接口方法
if (methodName.equals("methodName1")) {
// 调用方法1
} else if (methodName.equals("methodName2")) {
// 调用方法2
}
return true; // 表示拦截URL,不加载网页
}
return false; // 继续加载网页
}
});

shouldOverrideUrlLoading()メソッド内では、このURLからメソッド名やパラメータを解析し、必要に応じて対応するインターフェイスメソッドを呼び出すことができます。

なお、セキュリティの確保や悪意のあるコードの実行を避けるため、インターフェースを呼び出す前にURLやJavaScriptの検証とフィルタリングを行い、信頼できるインターフェースメソッドのみ実行することを推奨します。

bannerAds