[英]Zxing barcode scanner doesn't open from my app
通過將包com.google.zxing.integration.android
添加到我的項目中,並將此代碼添加到MainActivity.java文件中,我已經集成了Zxing條形碼掃描儀:
public static Button scanBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
scanBtn = (Button) findViewById(R.id.scan_button);
scanBtn.setOnClickListener(this);
}
public void onClick(View v) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
...
}
由於某些原因,當我單擊按鈕( scanBtn
)時,什么也沒有發生。 日志中沒有任何內容,並且屏幕上沒有任何內容。
請你幫助我好嗎?
您可以嘗試一下此代碼,看看是否適合您嗎?
scanBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new IntentIntegrator(this).initiateScan();
}
});
只需在您的onCreate中添加上面的代碼即可:
scanBtn.setOnClickListener(this);
和這個:
public void onClick(View v) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
讓我知道這是否適合您:)
首先在您的gradle文件中添加以下依賴項
compile 'com.journeyapps:zxing-android-embedded:3.1.0@aar'
compile 'com.google.zxing:core:3.2.0'
刪除com.google.zxing.integration.android
然后像下面的代碼一樣更改onClick
方法
public void onClick(View v) {
IntentIntegrator scanIntegrator = new IntentIntegrator(MainActivity.this);
scanIntegrator.setPrompt("Scan");
scanIntegrator.setBeepEnabled(true);
scanIntegrator.setOrientationLocked(true);
scanIntegrator.setBarcodeImageEnabled(true);
scanIntegrator.initiateScan();
}
它將實例化掃描,您可以在onActivityResult
獲得掃描結果
像這樣
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanningResult != null) {
if (scanningResult.getContents() != null) {
String scanContent = scanningResult.getContents().toString();
String scanFormat = scanningResult.getFormatName().toString();
}
Toast.makeText(this,scanContent+" type:"+scanFormat,Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"Nothing scanned",Toast.LENGTH_SHORT).show();
}
}
這是在Android中使用Zxing條碼掃描器的示例項目
希望能幫助到你
我已經為相機添加了權限,此權限已解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.