@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null) {
if (result.getContents() == null) {
Toast.makeText(this, " Not Found", Toast.LENGTH_LONG).show();
} else {
resultQR(result.getContents());
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
将QR码发送到服务器并接收结果的方法:
void resultQR(final String dataQR) {
try {
JSONObject obj = new JSONObject(dataQR);
final Integer qrID = obj.getInt("id");
StringRequest stringRequest = new StringRequest(Request.Method.POST, APIURL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject object = new JSONObject(response);
if(!object.equals("0")) {
int ID = object.getInt("id");
if(qrID.equals(ID)){
textViewName.setText(ID);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Can't COnnect", Toast.LENGTH_SHORT).show();
error.printStackTrace();
}
});
Volley.newRequestQueue(this).add(stringRequest);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(this,"Data Not Found", Toast.LENGTH_LONG).show();
}
}
扫描qr后,它始终转到“无法连接”。 QR的值为id
:1
。我正在手机上运行,地址为http://192.168.1.110/。这是我的IP地址。