1 | initial version |
Adding the DataWedge API to the Android Project:
flutter create --template=module datawedge_api
..jar
files) to the libs
folder of your module and the Native libraries (.so
files) to the jniLibs
folder.AndroidManifest.xml
file.Setting Up the Intent Filter:
AndroidManifest.xml
file with the action com.symbol.datawedge.api.ACTION_RESULT
.Configuring the DataWedge Profile:
Implementing the DataWedge API:
android_intent_plus
package and the com.symbol.datawedge.api
package in your Dart file.sendIntentWithExtras
method from the android_intent_plus
package to launch the barcode reading activity.OnActivityResult
method, parse the data from the barcode result intent and perform the required action.Example Code:
import 'package:android_intent_plus/android_intent.dart';
import 'package:com.symbol.datawedge.api.datawedge.dart';
final _barcodeControl = new DataWedgeIntentControl();
final _scanReceiver = new ScanBroadcastReceiver();
// Set up DataWedge profile
await _barcodeControl.createProfile(
profileName: 'MyProfile',
profileEnabled: true,
intentAction: 'com.mycompany.myapp.ACTION',
intentCategory: 'android.intent.category.DEFAULT',
intentOutputEnabled: true,
);
// Launch barcode scanner
final intentScan = AndroidIntent(
action: 'com.symbol.datawedge.api.ACTION',
category: 'android.intent.category.DEFAULT',
package: 'com.symbol.datawedge.api',
extras: {'com.symbol.datawedge.api.REQUEST_ACTION': 'START_SCANNING'},
);
await intentScan.launch();
// Handle barcode scan result
_scanReceiver.stream.listen((barcodeData) {
// Parse the barcode data from intent extras
final data = barcodeData['com.symbol.datawedge.data_string'].toString();
// Perform action with barcode data
});
// Clean up DataWedge profile
await _barcodeControl.removeProfile(profileName: 'MyProfile');