В настоящее время я пишу приложение для Android, которое позволит пользователю вводить результат отсканированного штрих-кода в поле за пределами приложения.
Приложение будет просто плавающей кнопкой, которая при нажатииоткроет экран камеры, который сканирует и считывает штрих-код, на который указывают, и сохранит результат как намерение.
При использовании этой плавающей кнопки пользователь в основном будет работать с Chrome.
Вопрос: Можно ли установить текст текущего поля в фокусе вне приложения в результате сканирования штрих-кода?
Яиспользуя следующие библиотеки: - com.google.zxing: core: 3.3.3 - com.journeyapps: zxing-android-embedded: 3.5.0@aar
Текущий код:
public class MainActivity extends AppCompatActivity {
FloatingActionButton fabScan;
TextView textViewScanResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Activity activity = this;
textViewScanResult = findViewById(R.id.textViewScan);
fabScan = findViewById(R.id.floatingActionButton_scan);
fabScan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
integrator.setPrompt("Scan Barcode");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
integrator.setOrientationLocked(false);
integrator.initiateScan();
}
});
}
@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) {
Toast.makeText(getApplicationContext(), "nothing", Toast.LENGTH_SHORT).show();
} else {
textViewScanResult.setText(result.getContents());
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
В настоящее время я только устанавливаю textView как результат сканирования.