[英]My app is crashing when scan invalid String by using Qr scanner
我是android的初學者...從qr掃描儀掃描數據...代碼工作正常...假設我掃描了abc之類的字符串...我的應用崩潰了-因為字符較少...如何避免崩潰...如果我在下面的代碼中掃描了一些無效的字符串...有人可以幫助我...
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == Activity.RESULT_OK) {
String contents = data.getStringExtra("SCAN_RESULT");
String Id = contents.substring(0, 10),
password = contents.substring(10, 14);
// formatTxt.setText("FORMAT: " + contents);
// contentTxt.setText("CONTENT: " + format);
Toast toast = Toast.makeText(getActivity(), "" + contents, Toast.LENGTH_LONG);
toast.show();
setdetails(id.toString(), password.toString());
} else if (resultCode == Activity.RESULT_CANCELED) {
// Handle cancel
Toast toast = Toast.makeText(getActivity(), " Cancelled", Toast.LENGTH_SHORT);
toast.show();
}
} else
super.onActivityResult(requestCode, resultCode, data);
}
java.lang.RuntimeException:無法傳送結果ResultInfo {who = android:fragment:0,request = 0,result = -1,data = Intent {act = com.google.zxing.client.android.SCAN flg = 0x80000(has活動{com.application}:java.lang.StringIndexOutOfBoundsException:length = 7; regionStart = 0; regionLength = 10
at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
Caused by: java.lang.StringIndexOutOfBoundsException: length=7; regionStart=0; regionLength=10
您需要確保字符串長度不小於14(根據您的情況),並且它也不為null,也可以使用以下代碼:
//...some code ...
String contents = data.getStringExtra("SCAN_RESULT");
if(contents!=null && contents.length() >= 14){
String Id = contents.substring(0, 10),
password = contents.substring(10, 14);
// formatTxt.setText("FORMAT: " + contents);
// contentTxt.setText("CONTENT: " + format);
Toast toast = Toast.makeText(getActivity(), "" + contents, Toast.LENGTH_LONG);
toast.show();
setdetails(id.toString(), password.toString());
}else{
Toast toast = Toast.makeText(getActivity(), "Invalid Data", Toast.LENGTH_LONG);
toast.show();
}
您能告訴您錯誤日志中顯示的錯誤是什么,您使用的是哪種掃描儀。
從zxing開始,條形碼掃描儀本身會顯示錯誤對話框“錯誤,無法解釋QR碼”。 被陳列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.