Open KalaliEhsan opened 1 year ago
I want to use a flutter app on datalogic pda device. I use the receiver to get the barcode that is scanned. But doesn't work receiver.
public class MainActivity extends FlutterActivity { private final String ACTION_BROADCAST_RECEIVER = "com.datalogic.decodewedge.decode_action"; private final String CATEGORY_BROADCAST_RECEIVER = "com.datalogic.decodewedge.decode_category"; private final String EXTRA_DATA_STRING = "com.datalogic.decode.intentwedge.barcode_string"; private final String EVENT_CHANNEL_BARCODE_INTENT = "app.channel.event.barcode_intent"; private BroadcastReceiver receiver; private IntentFilter filter; public void configureFlutterEngine(@NotNull FlutterEngine flutterEngine) { Intrinsics.checkNotNullParameter(flutterEngine, "flutterEngine"); GeneratedPluginRegistrant.registerWith(flutterEngine); DartExecutor dartExecutor = flutterEngine.getDartExecutor(); Intrinsics.checkNotNullExpressionValue(dartExecutor, "flutterEngine.dartExecutor"); new EventChannel(dartExecutor.getBinaryMessenger(), this.EVENT_CHANNEL_BARCODE_INTENT) .setStreamHandler(new EventChannel.StreamHandler() { public void onListen(@Nullable Object args, @Nullable EventChannel.EventSink events) { receiver = barcodeIntentReceiver(events); filter = new IntentFilter(); Intrinsics.checkNotNull(filter); filter.addAction(ACTION_BROADCAST_RECEIVER); Intrinsics.checkNotNull(filter); filter.addCategory(CATEGORY_BROADCAST_RECEIVER); registerReceiver(receiver, filter); } public void onCancel(@NotNull Object args) { Intrinsics.checkNotNullParameter(args, "args"); } }); } private final BroadcastReceiver barcodeIntentReceiver(final EventChannel.EventSink events) { return new BroadcastReceiver() { public void onReceive(@Nullable Context context, @Nullable Intent wedgeIntent) { Intrinsics.checkNotNull(wedgeIntent); String action = wedgeIntent.getAction(); if (Intrinsics.areEqual(action, ACTION_BROADCAST_RECEIVER)) { String barcode_text = wedgeIntent.getStringExtra(EXTRA_DATA_STRING); if (events != null) { events.success(barcode_text); } } } }; } }
How to resolve it?
I want to use a flutter app on datalogic pda device. I use the receiver to get the barcode that is scanned. But doesn't work receiver.
How to resolve it?