evaluateJavaScript
是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要解析 JavaScript 代码,您需要遵循以下步骤:
AndroidManifest.xml
文件中添加以下权限:<uses-permission android:name="android.permission.INTERNET" />
activity_main.xml
)中添加一个 WebView 控件:<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
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());
}
}
evaluateJavaScript
方法执行 JavaScript 代码并获取结果。例如,如果您想在 WebView 中执行以下 JavaScript 代码并获取结果:var result = 1 + 2;
您可以在 MainActivity.java
中这样做:
webView.evaluateJavascript("(function() { return 1 + 2; })();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
// 在这里处理结果
int result = Integer.parseInt(value);
Log.d("JavaScriptResult", "Result: " + result);
}
});
在这个例子中,我们使用了一个立即执行的匿名函数(IIFE),以避免全局变量污染。onReceiveValue
方法将在 JavaScript 代码执行完成后被调用,您可以在其中处理结果。
这就是如何在 Android 中使用 evaluateJavaScript
解析 JavaScript 代码。请注意,为了确保代码的正确执行,您需要在 WebView 中加载一个包含 JavaScript 的网页。