您可以使用以下代码示例来实现Android WebView加载HTML页面、设置变量并加载脚本:
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String HTML_CONTENT = "\n" +
"WebView Example
\n" +
"This is an example of loading HTML content in WebView.
\n" +
"";
private static final String JAVASCRIPT_CODE = "javascript:" +
"var variable = 'Hello, WebView!';" +
"alert(variable);";
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
// 加载HTML内容
webView.loadData(HTML_CONTENT, "text/html", "UTF-8");
// 设置变量并加载脚本
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.loadUrl(JAVASCRIPT_CODE);
}
});
}
}
在这个示例中,我们首先在WebView中加载了一个简单的HTML内容。然后,在WebView的onPageFinished
方法中,我们设置了一个JavaScript代码,该代码设置了一个变量并弹出一个对话框显示变量的值。
请确保在AndroidManifest.xml中添加了INTERNET
权限:
这样,当您运行应用程序时,它将加载HTML内容,然后弹出一个显示变量值的对话框。