2013-01-24 18 views
8

Dev çalışmaları için Android ADT Paketi kullanıyorum. Birden fazla kılavuzu online okuduktan sonra projemize com.dm.zbar.android.scanner paketini ekledim. Pakette CameraPreview.java, ZBarConstants.java ve ZBarScannerActivity.java dosyalarını ekledim. Tüm bunlara rağmen, ScanActivity.java sınıfındaki ZBAR_SCANNER_REQUEST var (benim tarafımdan oluşturulan, ancak zbar yöntemlerini kullanarak) bir değişkene çözümlenemez. Bu değişken hariç her şey kabul edilir. Bunun neden oluştuğu hakkında bir fikrin var mı? Benim libs klasörü burada her şeyi içerir:Android uygulamasına Zbar entegrasyonu

https://github.com/DushyanthMaguluru/ZBarScanner/tree/master/ZBarScannerLibrary/libs

ve zbar.jar inşa yolunda dahildir unutmayın.

ScanActivity:

package com.xx.xxx; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.content.pm.PackageManager; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Toast; 
import com.dm.zbar.android.scanner.ZBarConstants; 
import com.dm.zbar.android.scanner.ZBarScannerActivity; 
import net.sourceforge.zbar.Symbol; 

public class ScanActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_scan); 
} 

public void launchScanner(View v) { 
    if (isCameraAvailable()) { 
     Intent intent = new Intent(this, ZBarScannerActivity.class); 
     startActivityForResult(intent, ZBAR_SCANNER_REQUEST); 
    } else { 
     Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show(); 
    } 
} 

public void launchQRScanner(View v) { 
    if (isCameraAvailable()) { 
     Intent intent = new Intent(this, ZBarScannerActivity.class); 
     intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE}); 
     startActivityForResult(intent, ZBAR_SCANNER_REQUEST); 
    } else { 
     Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show(); 
    } 
} 

public boolean isCameraAvailable() { 
    PackageManager pm = getPackageManager(); 
    return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case ZBAR_SCANNER_REQUEST: 
     case ZBAR_QR_SCANNER_REQUEST: 
      if (resultCode == RESULT_OK) { 
       Toast.makeText(this, "Scan Result = " + data.getStringExtra(ZBarConstants.SCAN_RESULT), Toast.LENGTH_SHORT).show(); 
      } 
      break; 
    } 
} 

} 

Sadece durumunda bunun alakalı: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.xx.xxx" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.CAMERA" /> 

<uses-feature 
    android:name="android.hardware.camera" 
    android:required="false" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="xx" 
    android:theme="@style/AppTheme" > 
    <activity android:name="com.xx.xxx.MainActivity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="com.xx.xxx.WvActivity" /> 
    <activity android:name="com.xx.xxx.ScanActivity" /> 
    <activity 
     android:name="com.dm.zbar.android.scanner.ZBarScannerActivity" 
     android:screenOrientation="landscape" /> 
</application> 

cevap

14

Ben ZBar Kütüphane Örneği kontrol etti. Bir hata yaptın. Eğer onCreate (..) Yöntemi Yukarıda bu değişkenleri bildirmek gerekir

private static final int ZBAR_SCANNER_REQUEST = 0; 
private static final int ZBAR_QR_SCANNER_REQUEST = 1; 

etkinlik bu iki değişken beyan etmedi çünkü

Bu hata

oluştu. Zarf Example'a bakın.

+0

Çok teşekkür ederim .... bunu özlediğime inanamıyorum. – Rilcon42

+1

zbar lib cihazlarında android 5.o üzerinde kamera karartma sorunu ile karşılaştınız mı? –

İlgili konular