我在嘗試之前盡力找到解決方案,但是我似乎無法找到類似的情況。使用ZXing的間歇性QR掃描結果IntentIntegrator
我爲我正在使用的應用程序實現了QR掃描儀。我正在使用zxing庫,特別是使用下面的導入。此外,這些應用程序使用Play商店中的「Barcode Scanner」(我被提示安裝)。
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
問題是掃描儀每3到6次掃描只工作1次。我要麼得到空回報,要麼沒有輸出。它總是返回到我的源屏幕,並從不產生實際的錯誤。
我用這個教程作爲源:Android SDK: Create a Barcode Reader
這裏是mainactivity相關信息:
public void onClick(View v){
//respond to clicks
if(v.getId()==R.id.scanQRButton){
//scan
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
formatTxt.setText("Scan Initiated");
contentTxt.setText(" Scan Results: " + scanContent);
if(scanContent != null){
String userid,medname,tabstaken,dob;
StringTokenizer st = new StringTokenizer(scanContent, ",");
// token 0
dob = st.nextToken();
//token 1
medname = st.nextToken();
//token 2
tabstaken = st.nextToken();
//token 3
//rxnumber
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
HashMap<String,String> user = new HashMap<String, String>();
user = db.getUserDetails();
//Store the userlog by passing to UserLogEntry
userid = user.get("uid");
//debug.setText("Userid: "+ userid+ " medname: " + medname + " tabs: " +tabstaken);
UserLogEntry userlog = new UserLogEntry(getApplicationContext(),userid,medname,tabstaken);
userlog.addUserLog();
}
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
//retrieve scan result
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
//we have a result
scanContent = scanningResult.getContents();
}
else{
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
}
而且這裏有斑馬線類從庫包我使用的是:
意圖結果:
IntentIntegrator:
如何得到這個工作%的時間100任何想法?
謝謝!