У меня есть несколько onActivityResult
видов деятельности в приложении для Android, и у меня возникает проблема с двумя действиями, выполняемыми за один раз. Когда я открою свой сканер штрих-кода ZXing, он закроет соединение с моим Bluetooth-принтером. Вот мой код:Как разделить виды деятельности
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_ENABLE_BT:
if (resultCode == Activity.RESULT_OK) {
Toast.makeText(this, "Bluetooth open successful", Toast.LENGTH_LONG).show();
} else {
finish();
}
break;
case REQUEST_CONNECT_DEVICE:
if (resultCode == Activity.RESULT_OK) {
String address = data.getExtras()
.getString(DeviceListActivity.EXTRA_DEVICE_ADDRESS);
con_dev = mService.getDevByMac(address);
mService.connect(con_dev);
}
break;
}
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanningResult != null) {
String scanContent = scanningResult.getContents();
String scanFormat = scanningResult.getFormatName();
//formatTxt.setText("FORMAT: " + scanFormat);
edtContext.setText(scanContent);
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
Что бы быть лучшим способом, чтобы разделить эту деятельность таким образом, чтобы они не пересекались друг с другом?
ОБНОВЛЕНИЕ: Как указано @Mahfa, мне нужно добавить requestCode к активности сканирования. Это мой код для кнопки, запускающей активность сканирования:
btnBarcode = (Button) findViewById(R.id.btnBarcode);
OnClickListener BarcodeOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnBarcode) {
IntentIntegrator integrator = new IntentIntegrator(PrintDemo.this);
integrator.initiateScan();
}
}
};
btnBarcode.setOnClickListener(BarcodeOnClickListener);
Что мне нужно сделать, чтобы добавить requestCode к этому?
Вы не можете отделять результаты с помощью requestCode? – Mahfa
Вот что я думал, что мне нужно будет сделать, но я не уверен, как его реализовать. Я обновил вопрос. – Chrono124
посмотрите здесь, я раньше не использовал zxing, но есть способ установить requestCode. http://stackoverflow.com/a/25630424/2690277. https://www.google.com/search?q=set+requestCode+in+zxing&ie=utf-8&oe=utf-8#q=set+intent+requestCode+in+zxing – Mahfa