我有一个带有嵌入式条形码扫描仪的Android设备。
按下设备上的“扫描”按钮时,它将扫描条形码,并且仅当光标位于EditText上时,数据才会显示在EditText中。即选择了EditText。
我希望在未选择EditText的情况下获得扫描结果。
我已经尝试过使用onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
但是我没有得到任何结果。 我该怎么办?
我不想按下按钮来激活扫描仪。
答案 0 :(得分:0)
使用ZXIng library,可以启动扫描器并解析结果。
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
public void onActivityResult(int requestCode, int resultCode, Intent intent){
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
Context context = getApplicationContext();
if (scanResult != null){
String scanContent = scanResult.getContents();
Toast toast = Toast.makeText(context, scanContent, 5000);
toast.show();
}
else {
Toast toast = Toast.makeText(context, "Error", 5000);
toast.show();
}
};
此意图是通过android lifecycle方法之一启动的,例如onCreate()
覆盖。
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();