我有一个查询。我可以将值从我的 html 页面传递到我的活动文件吗?
html 文件位于 assets/www 文件夹和 Activity 文件位于 src/package_name
我有一个查询。我可以将值从我的 html 页面传递到我的活动文件吗?
html 文件位于 assets/www 文件夹和 Activity 文件位于 src/package_name
您需要使用 JavaScriptInterface。在您的 Web 视图中添加此接口。
制作 JavaScriptInterface 类(在这里你可以为你的类使用任何名称)
public class JavaScriptInterface {
Context mContext;
/** Instantiate the interface and set the context */
JavaScriptInterface(Context context) {
mContext = context;
}
/** Get passed value from the web page here */
public void showMyValue(String passedValue) {
android.util.Log.i("TAG", "I Got this value:" + passedValue);
}
}
在您的网络视图中添加此界面,例如
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
现在在您的网页中,调用此方法以传递您的值并使用该值执行需要完整的操作
<input type="button" value="ClickMe" onClick="passValueToAndroid('Hello Android!')" />
<script type="text/javascript">
function passValueToAndroid(yourPassingValue) {
Android.showMyValue(yourPassingValue);
}
</script>
是的,您可以将任何变量从 html 传递到活动。
您需要创建 JavaScript 接口以在 html 和活动之间进行交互,
有关实现细节,请参阅此链接