【发布时间】:2016-11-16 06:50:16
【问题描述】:
我关注this阅读二维码
这是我的Webview http://jsfiddle.net/Ua8Cv/99/ 所以在这里,当我在我的 Webview Activity 中单击按钮或输入框时,它将打开我的另一个 Activity Qr 阅读器活动...这是一个本地 Activity Out Side Webview
为此,我已经通过 JavaScript 打开其他活动表单 Webivew 到 Myactivity...
public class Webtest extends AppCompatActivity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webc);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
webView = (WebView) findViewById(R.id.webm);
WebSettings set = webView.getSettings();
set.setJavaScriptEnabled(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
final ProgressDialog progressBar = ProgressDialog.show(Webtest.this, "Please Wait", "Loading...");
//Enable Javascript
// webView.getSettings().setJavaScriptEnabled(true);
//Inject WebAppInterface methods into Web page by having Interface 'Android'
webView.addJavascriptInterface(new WebAppInterface(this), "SendtoAndroid");
webView.requestFocusFromTouch();
webView.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url) {
if (progressBar.isShowing()) {
progressBar.dismiss();
}
}
webView.setWebChromeClient(new WebChromeClient());
String url = "file:///android_asset/text.html";
try {
if (URLUtil.isValidUrl(url)) {
webView.loadUrl(url);
}
} catch (Exception e) {
String s = "<html><body style='background:#fff;'><br><div ><b><p style='color: black;font-size:20px;text-align:left;'>Unable to load information.</p></b><div style='color: black;text-align:center;'>Server May be Temporarily Down\n" + "\n" +
"<div style='color: black;text-align:center;'>Please Try After Sometime</p></div></div></body></html>";
}
}
//Class to be injected in Web page
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void Ma() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
// Setting Dialog Title
alertDialog.setTitle("Alert");
// Setting Dialog Message
alertDialog.setMessage("Are you sure you want to leave to next screen?");
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//Move to Next screen
//Webtest.this.finish();
Intent ss = new Intent(Webtest.this, MainActivity.class);
ss.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
ss.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ss.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
ss.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(ss);
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Cancel Dialog
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
}
}
}
所以直到这里一切都很好,我可以使用上述方法从网络视图扫描和显示,但在这里我可以在我的活动中显示结果..
但我想在我的 webview 中的光标位置显示或添加 Input(my qr code value).. 是否可以在 webview 中将 Qrcode 值赋予 Cursor...
请大家帮忙
更新 1
这里我已经完成了二维码/条形码并在 Webview 中打开该活动,但我无法将结果值作为输入提供给 webview 请帮助我处理这种情况
更新 2
我在这里将我的二维码值传递给ResultA Activity
通过意图
这里myval是二维码/条码结果......
String udata = myval;
Intent i = new Intent(this, ResultA.class);
i.putExtra("sdata", udata);
startActivity(i);
我在其他页面中显示我的 Qr/条形码的输出结果
public class ResultA extends Activity {
private static String urlString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resu);
final TextView tv = (TextView) findViewById(R.id.tv);
String rdata;
Intent i = getIntent();
rdata = i.getStringExtra("sdata");
tv.setText(tv.getText() + "\t"+ rdata + "\n");
}
}
但我想在 Web 视图光标中插入 Same Result(rdata) ....
更新 3
我试过这个
String url = "file:///android_asset/tex.html";
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient());
String rdata;
Intent i = getIntent();
rdata = i.getStringExtra("sdata");
try {
if (URLUtil.isValidUrl(url)) {
webView.loadUrl("javascript:document.activeElement.value = '" + rdata + "'");
}
现在唯一值显示在我的页面中 整个页面都消失了...
但我希望这个值应该放在光标处(网页输入框)
请帮帮我...
【问题讨论】:
标签: javascript android webview qr-code