私はこのウェブサイトから学びました:http: //damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/
Zxingの統合に関して2つの小さな問題があります:
- 私のアプリケーションの名前は「バーコードスキャナー」になりました
- 統合バーコードスキャナーを使用したいときにこのエラーが発生しました:
java.lang.ClassNotFoundException : android.preference.set
しかし、以前にスマートフォンにインストールされていたバーコードスキャナーを使用することを選択した場合、エラーは発生しません。何かアイデアはありますか?
私のコードは:
マニフェスト:
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
アクティビティ :
/* -- LISTENER CLICK SCAN PRODUCT -- */
View.OnClickListener bScanProduct = new View.OnClickListener() {
public void onClick(View v) {
LayoutInflater inflater = getLayoutInflater();
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
}
};
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.w("SuggestionActivity", "Scan receved : "+contents+" format : "+format);
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
Log.w("SuggestionActivity", "Cancel scan");
}
}
}
/*----------------------------------*/
プロジェクト「CaptureActivity」がライブラリとして設定され、私のプロジェクトに含まれています。また、core.jarは「外部JAR」としても含まれています。