Чтобы приложение получало данные от сканера штрихкодов:
В манифесте приложения добавьте разрешение на использование сканера штрихкодов:
<uses-permission android:name="ru.evotor.devices.SCANNER_RECEIVER" />
Создайте приёмник MyReceiver
:
public class MyReceiver extends ScannerBroadcastReceiver {
@Override
void handleBarcodeReceivedEvent(Context context, BarcodeReceivedEvent barcodeReceivedEvent) {
//Тело метода
}
};
Подпишите приёмник на сообщение о сканировании штрихкода:
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="ru.evotor.devices.ScannedCode" />
</intent-filter>
</receiver>
В операции (Activity
) или фрагменте (Fragment
) запускайте и останавливайте подписку ScannerBroadcastReceiver
:
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(MyReceiver);
}
@Override
protected void onResume() {
super.onResume();
registerReceiver(MyReceiver, ScannerBroadcastReceiver.ACTION_BARCODE_RECEIVED, ScannerBroadcastReceiver.SENDER_PERMISSION, null);
}
}
Пример получения штрихкода в демонстрационном приложении.