【发布时间】:2016-09-08 05:17:26
【问题描述】:
有没有办法在不加载/显示 WebView 的情况下从 android 将值放入网页上的文本字段?例如,我有两个字符串,想在网页上填充两个字段,有没有办法“在后台”执行此操作,或者换句话说,不必打开用户看到的窗口? 谢谢
更新
在 Tango 的帮助下找到了解决方案
这是在我的 OkHttpHandler 类中:
public class OkHttpHandler extends AsyncTask<String, Void, String> {
OkHttpClient client = new OkHttpClient();
String cardNumber, privNumber;
public OkHttpHandler(String cardNumber, String privNumber) {
this.cardNumber = cardNumber;
this.privNumber = privNumber;
}
@Override
protected String doInBackground(String... strings) {
RequestBody formBody = new FormBody.Builder()
//Change .add first parameter to the text field you want to populate
.add("CardNbr", cardNumber)
.add("CardPin", privNumber).build();
Request request = new Request.Builder().url(strings[0])
.post(formBody).build();
try {
Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code "+ request.toString());
return response.body().string();
} catch (Exception e) {
}
return null;
}
}
我的 MainActivity 类的 sn-p 和我打印对日志的响应
OkHttpHandler handler = new OkHttpHandler(items.get(0).getNumber(), items.get(0).getPrivNumber());
String result = "";
try {
result = handler.execute("urlHere.com").get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
Log.d("returned value", result);
【问题讨论】:
-
欢迎。请访问帮助中心,了解如何提出好问题。 stackoverflow.com/help/how-to-ask