evaluateJavaScript
是 Android 中 WebView 的一个方法,它允许你在 WebView 中执行 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.evaluateJavascript("(function() { return 'Hello, World!'; })();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
// 在这里处理 JavaScript 代码的返回值
Log.d("JavaScriptResult", "Result: " + value);
}
});
在这个例子中,我们执行了一个立即执行的 JavaScript 函数,该函数返回 “Hello, World!” 字符串。onReceiveValue
方法将接收到的字符串值打印到日志中。
你可以根据需要修改 JavaScript 代码以及处理返回值的方式。