Переход во вторую activity

99
27 февраля 2021, 14:30

Данное приложение сканирует штрих и qr код, как сделать так, чтобы после сканирования, результат сканирования выводился во второй Activity?

public class MainActivity extends AppCompatActivity {
private Button button, button1;
private TextView txtResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = (Button) this.findViewById(R.id.button);
    txtResult = (TextView)findViewById(R.id.txtResult);
    final Activity activity = this;
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick (View v){
            IntentIntegrator integrator = new IntentIntegrator(activity);
            integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
            integrator.setPrompt("Сканирование");
            integrator.setCameraId(0);
            integrator.setBeepEnabled(false);
            integrator.setBarcodeImageEnabled(false);
            integrator.setOrientationLocked(false);
            integrator.initiateScan();
        }
    });
}
@SuppressLint("SetTextI18n")
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
    if(result !=null){
        if(result.getContents() == null){
            Log.d("MainActivity", "Cancelled scan");
            Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
        } else{
            Log.d("MainActivity", "Scanned");
            txtResult.setText("Результат сканирования: " + "\n" + result.getContents());
           // Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
        }
    } else {
        super.onActivityResult(requestCode,resultCode,data);
    }
}

}

Answer 1

Передавайте результат в качестве параметра в Intent, который открывает новый Activity.

intent.putExtra("scanResult", scanResult);

В Activity, которая должна открыться в onCreate:

Intent intent = getIntent();
if (intent.getSerializableExtra("scanResult") != null){
    // Обрабатываем результат сканирования, который пережали из предыдущего Activity.
}
Answer 2
 //Это в случае успешного сканирования
 SharedPreferences Prefer = getSharedPreferences("AnyString", Context.MODE_PRIVATE);
 //AnyString - реально любая строка
 Editor editor = Prefer.edit();
 editor.putString("result", result.getContents());
 //Занесем в SharedPreferences значение result.getContents() под «именем» "result"
 editor.commit();
 Intent intent = new Intent(MainActivity.this, 
 Second_Activity.class);
 //Second_Activity - второй Activity
 startActivity(intent);

 //Это во втором Activity
 SharedPreferences Prefer = getSharedPreferences("AnyString", Context.MODE_PRIVATE);
 //AnyString должен совпадать с тем, что был в первом
 result = Prefer.getString("result", "");
READ ALSO
Вывод окна ожидания

Вывод окна ожидания

Хочу вывести Alert окно, которое будет закрываться после того как выполнится задача из другого класса

130
Установить атрибут “disabled” у select. Jquery

Установить атрибут “disabled” у select. Jquery

Задача: установить выборочно атрибут disabledПеребирал несколько вариантов, не работает ни один

128
Почему не работает телеграм-бот?

Почему не работает телеграм-бот?

пробую создать первого бота при помощи телеграфа, взял с их гитхаба код:

101