Как отсканировать разные QR-коды и перечислить их в android - PullRequest
0 голосов
/ 20 июня 2020

Мне нужно сканировать разные qr-коды, и я хочу сканировать один за другим и различать их по количественному номеру, если номер имеет номер 12, затем назначьте его master, если номер 10, назначьте как slaves и этих ведомых устройств может быть несколько, но master сканируется один раз.

До сих пор я сканировал один qr-код, но если я сканирую второй, он удаляется.

Что я могу сделать, чтобы повторить сканирование и различать их.

Мой код:

public  void ScanButton(View view){
    IntentIntegrator intentIntegrator = new IntentIntegrator(this);
    intentIntegrator.initiateScan();

}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data){
    IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);

    if(intentResult !=null){
        //kama imeshindwa kuscan then cancel
        if(intentResult.getContents() == null){
            Toast toast = Toast.makeText(getApplicationContext(),
                    "TUnable to Scan, Please Make sure UnaScan QR Code",
                    Toast.LENGTH_SHORT);

            toast.show();
     //    textView.setText("Unable to Scan, Please Make sure UnaScan QR Code!");

        }
        else{
           textView.setText(intentResult.getContents());
        }
    }
  super.onActivityResult(requestCode, resultCode, data);
}

Ожидаю получить что-то вроде этого введите описание изображения здесь

1 Ответ

0 голосов
/ 21 июня 2020

Таким образом, простой способ сохранить содержимое qr-кода - создать список ArrayList для хранения различных сканированных изображений.

ArrayList<String> qrScans = new ArrayList();

Тогда это могло бы выглядеть примерно так:

public  void ScanButton(View view){
    IntentIntegrator intentIntegrator = new IntentIntegrator(this);
    intentIntegrator.initiateScan();

}

ArrayList<String> qrScans = new ArrayList();

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data){
    IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);

    if(intentResult !=null){
        //kama imeshindwa kuscan then cancel
        if(intentResult.getContents() == null){
            Toast toast = Toast.makeText(getApplicationContext(),
                    "TUnable to Scan, Please Make sure UnaScan QR Code",
                    Toast.LENGTH_SHORT);

            toast.show();
     //    textView.setText("Unable to Scan, Please Make sure UnaScan QR Code!");

        }
        else{
           qrScans.add(intentResult.getContents());
           textView.setText(intentResult.getContents());
        }
    }
  super.onActivityResult(requestCode, resultCode, data);
}

Это также позволит вам различать их, потому что они хранятся в разных индексах внутри ArrayList. Следовательно, вы сможете получить очень конкретное c сканирование и затем работать с содержимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...