91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

webview android如何處理js調用

小樊
81
2024-11-24 17:30:59
欄目: 編程語言

在Android WebView中處理JavaScript調用,您需要實現WebViewClient并重寫shouldOverrideUrlLoading()onPageFinished()方法。此外,您還需要啟用JavaScript支持。以下是一個簡單的示例:

  1. 在您的Activity或Fragment中,創建一個自定義的WebViewClient
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class CustomWebViewClient extends WebViewClient {

    @JavascriptInterface
    public void showToast(String message) {
        // 在這里處理JavaScript調用的結果
        Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
    }
}

注意,我們需要在showToast方法上添加@JavascriptInterface注解,以便將其暴露給JavaScript代碼。

  1. 在您的Activity或Fragment中,設置WebView并啟用JavaScript支持:
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.setWebViewClient(new CustomWebViewClient());
        webView.addJavascriptInterface(new CustomWebViewClient(), "Android");

        webView.loadUrl("https://example.com");
    }
}

在這個例子中,我們將自定義的CustomWebViewClient設置為WebView的客戶端,并將其添加到WebView中,以便處理JavaScript調用。

  1. 在您的HTML文件中,您可以使用以下JavaScript代碼調用Android方法:
<!DOCTYPE html>
<html>
<head>
    <title>WebView Example</title>
    <script type="text/javascript">
        function callAndroidToast() {
            Android.showToast("Hello from JavaScript!");
        }
    </script>
</head>
<body>
    <button onclick="callAndroidToast()">Click me</button>
</body>
</html>

當用戶點擊按鈕時,callAndroidToast()函數將被調用,從而觸發Android中的showToast方法。在這個例子中,我們將顯示一個Toast消息,但您可以根據需要執行任何操作。

0
柯坪县| 裕民县| 榕江县| 手游| 呼伦贝尔市| 竹溪县| 仪陇县| 平昌县| 门源| 吕梁市| 阜阳市| 娱乐| 即墨市| 凌海市| 隆尧县| 中江县| 满城县| 信阳市| 南郑县| 胶州市| 县级市| 清丰县| 绿春县| 津南区| 敦化市| 团风县| 元谋县| 阿图什市| 杭锦旗| 巴林左旗| 克山县| 河间市| 高安市| 二连浩特市| 门源| 象州县| 安乡县| 北流市| 双峰县| 曲阳县| 健康|