-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
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?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels