Я занимаюсь приложением, которое сканирует QR-код и отправляет отсканированные данные в другой вид деятельности.
Я не могу отправить данные в другой вид деятельности с помощью сканирования QR.Я думаю, это потому, что когда метод возвращается до начала активности.Но я не могу решить эту проблему
Вот код:
public class ChooseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choose);
final Activity activity = this;
_flag = false;
img1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator intentIntegrator = new IntentIntegrator(activity);
intentIntegrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
intentIntegrator.setPrompt("Scan");
intentIntegrator.setCameraId(0);
intentIntegrator.setBeepEnabled(false);
intentIntegrator.initiateScan();
if (_flag == true)
{
Intent intent = new Intent(ChooseActivity.this, ReviewActivity.class);
startActivity(intent);
}
}
});
}
И результат onActivity:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode,
resultCode, data);
if (result != null)
{
if (result.getContents() == null)
{
Toast.makeText(this, "Вы отменили сканирование",
Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(this, result.getContents(),
Toast.LENGTH_SHORT).show();
String string = result.getContents().toString();
String[] parts = string.split("-");
part1 = parts[0];
part2 = parts[1];
part3 = parts[2];
String flag = "true";
Intent intent = new Intent(ChooseActivity.this,
ReviewActivity.class);
intent.putExtra("route", part1);
intent.putExtra("driver", part2);
intent.putExtra("car", part3);
intent.putExtra("flag", flag);
intent.putExtra("key", s1);
intent.putExtra("key2", s2);
_flag = true;
}
}
super.onActivityResult(requestCode, resultCode, data);
}
И когда сканируется QR-код, начинается другое действие, прежде чем данныеотправлено сюда.Вот в чем проблема