我按照这个阅读二维码...
在那边,我添加了一个扫描按钮来启动二维码阅读器活动......我正在另一个页面上显示结果...
现在我正在将这些结果传递给 JOSN 中的服务器......以便服务器将响应其扫描的第一次更新成功。.并删除了成功..诸如此类。。
但是当我尝试时,我一次在我的数据库中获取两者。第一次扫描后,它应该重定向到 json 页面并显示服务器状态......
但它仍在运行,我正在及时更新和删除..&每次都获得结果删除成功..
我在扫描二维码以传递结果后执行此操作。.
Qrdata.this.finish();
Intent i = new Intent(this, json.class);
i.putExtra("qrdata", sdata);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
但是它的扫描了两次... 在显示服务器响应并显示始终删除成功之前。.
当我强制移动设备从QR码移动时,我得到了更新成功。
我想在一次成功扫描后停止 qrsscan。.
任何人都可以建议我,如果需要任何其他信息,我将更新我的代码......在这个二维码上..
更新 :
这是在服务器端。.
public class Sdata extends Activity {
private static String urlString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
final TextView tv = (TextView) findViewById(R.id.tv);
String rdata;
Intent i = getIntent();
rdata = i.getStringExtra("sdata");
tv.setText("");
urlString = "http://"+rdata;
new ProcessJSON().execute(urlString);
System.out.println("****url****"+urlString);
}
}
private class ProcessJSON extends AsyncTask<String, Void, String>{
protected String doInBackground(String... strings){
String stream=null;
String urlString = strings[0];
HDH hh = new HDH();
stream = hh.GetHTTPData(urlString);
return stream;
}
protected void onPostExecute(String stream) {
TextView tv = (TextView) findViewById(R.id.tv);
if (stream != null) {
try {
JSONObject key = new JSONObject(stream);
JSONObject response = key.getJSONObject("response");
String status = response.getString("status");
tv.setText(tv.getText() + "t"+ status + "n");
}
catch (JSONException e) {
e.printStackTrace();
}
}
}
}
@Override
public void onBackPressed() {
moveTaskToBack(false);
Toast.makeText(this, "Please wait for a While.. Don't Go back .!", Toast.LENGTH_SHORT).show();
}
}
谁能告诉我需要在哪里添加
您可以通过标志维护它,例如第一次检查布尔变量为
boolean scan = true;
if(scan) {
// ...scan qr..
}
当你第一次得到结果时,使布尔值为假。