温馨提示×

android evaluatejavascript 怎么加载

小樊
86
2024-11-25 12:35:47
栏目: 编程语言

evaluateJavaScript 是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript,请按照以下步骤操作:

  1. 首先,确保您的项目中已经启用了 WebView。在 AndroidManifest.xml 文件中添加以下权限:
<uses-permission android:name="android.permission.INTERNET" />
  1. 在布局文件(例如 activity_main.xml)中添加一个 WebView 控件:
<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 在 Activity(例如 MainActivity.java)中,初始化 WebView 并启用 JavaScript 支持:
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

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 WebViewClient());
    }
}
  1. 现在,您可以使用 evaluateJavaScript 方法执行 JavaScript 代码。例如,要在 WebView 中加载一个网址,可以这样做:
webView.evaluateJavaScript("window.location = 'https://www.example.com'", null);

如果您需要从 JavaScript 获取数据并传递给 Android,可以使用 addJavascriptInterface 注册一个本地对象供 JavaScript 调用:

public class MyJavaScriptInterface {
    private TextView textView;

    public MyJavaScriptInterface(TextView textView) {
        this.textView = textView;
    }

    @JavascriptInterface
    public void processData(String data) {
        textView.setText(data);
    }
}

然后在 onCreate 方法中添加这个对象到 WebView:

TextView textView = findViewById(R.id.textView);
webView.addJavascriptInterface(new MyJavaScriptInterface(textView), "HTMLOUT");

最后,您可以在 JavaScript 代码中调用这个方法:

window.HTMLOUT.processData("Hello from JavaScript!");

这样,您就可以在 Android 中使用 evaluateJavaScript 加载和执行 JavaScript 代码了。

0