我有2個不同的佈局斑馬線QR掃描工作在TabHost但不是在ListView中
一個是TabHost它承載不同的標籤,其中一個是QR掃描選項卡。如果我點擊按鈕,它會啓動掃描應用程序並掃描它並將其返回到活動並顯示結果(我使用StartActivityForResult()...)開始它。 其他佈局是一個ListView,您可以在這些功能之間進行選擇。如果您選擇QR掃描儀,它會打開活動。如果您點擊掃描QR碼,它會再次啓動ZXing,但如果掃描了某些內容,它將回到Listview佈局。
這是我的活動如何在清單(ListView的佈局)宣稱:
<activity
android:name=".ListActivities"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name" >
</activity>
而且TabHost:
<activity
android:name=".TabHoster"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name" >
</activity>
這是ScanQR類的清單條目:
<activity
android:name=".QRScanner"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:launchMode="singleInstance" />
以下是來自ListActivities - > ScanQR的代碼:
Intent intent = new Intent(this, ScanQR.class);
startActivity(intent);
這是啓動斑馬線庫中的代碼:
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivityForResult(intent, 0);
和代碼的結果從它返回:
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
txtPleaseScan.setVisibility(View.GONE);
ScrollView qrLayout = (ScrollView) findViewById(R.id.qrLayout);
qrLayout.setVisibility(View.VISIBLE);
txtQRResult.setText(contents);
} else if (resultCode == RESULT_CANCELED) {
}
順便說一句,我使用相同的代碼ScanQR對於這兩種佈局...
你說Zxing是在製表符。我有一個疑問,你應該在哪裏聲明onActivityResult()方法。它是否具有製作活性或亞活性? Plz幫助我 – naresh 2012-09-21 07:28:09
在啓動其他Activity的TabGroup中,因爲這是在Subactivity關閉後調用的方法... – user754730 2012-09-21 08:52:05
請參閱http://stackoverflow.com/questions/11431387/android-barcode-scanner - 不讀一些條形碼 – naresh 2012-09-21 08:56:25