我有一个从相机预览中读取条形码(Code128)的应用程序。 我将条形码结果放在字符串或条形码中。
我正在从软件公司访问Web应用程序,并希望将字符串传递到活动的html字段中。
用户应决定在哪个字段中粘贴条形码值。 如何在Webview中获取"活动"(单击字段)以及如何将字符串自动粘贴到其中?
我会像软键盘那样将字符串写入字段。
祝你好运, ·阿尔
答案 0 :(得分:0)
您可以在Android WebView中使用JavaScript界面来检测点击字段并将参数传递给他们。
答案 1 :(得分:0)
在android中的webView中使用JavaScript
在html文件中2个元素(用户名和按钮)
<html>
//...
<input name="username" type="text" id="id_username">
<input type="submit" class="button-green" value="Log in">
//...
</html>
为webView创建自定义WebViewClient
class WebViewClientCustom extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("WebViewClientCustom", "Redirecting URL " + url);
return false;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
Log.i("WebViewClientCustom", "Page error: " + description);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
try {
view.addJavascriptInterface(new UserData(), "UserData");
} catch (Exception e) {
e.printStackTrace();
}
Log.i("WebViewClientCustom", "Loading URL: " + url);
}
@Override
public void onPageFinished(WebView webView, String url) {
super.onPageFinished(webView, url);
Log.i("WebViewClientCustom", "onPageFinished");
//add javascript
webView.loadUrl("javascript: document.getElementsByClassName(\"button-green\")[0].onclick = function() {\n var username = document.getElementById(\"id_username\").value;\n UserData.saveUsername(username);\n };");
}
}
创建类UserData
public class UserData {
public static String username;
//saveData
@JavascriptInterface
public void saveUsername(String username) {
this.username = username;
}
}
并结束
WebView mWebView = new WebView(activity);
mWebView.setWebViewClient(new WebViewClientCustom()); //add custom WebViewClient
mWebView.getSettings().setJavaScriptEnabled(true); //enable JavaScript for webView
mWebView.loadUrl(url);
答案 2 :(得分:0)
感谢您的javascript建议!
我用android Webview和Javascript找到了一个非常简单的解决方案。 我只需要将这一个字符串写入我的活动字段,这样我就不需要Javascript适配器了。
这对我有用:
public void setValue()
{
String jscript = "document.activeElement.value="+"'"+ yourVariable+"'";
mWebView.evaluateJavascript(jscript,null);
}
此字符串使活动字段成为写入&#34;您的变量&#34;进入它。