A Flutter plugin for Nordic ID Device to read RFID/UHF tags
1- Add to <manifest>
tag
xmlns:tools="http://schemas.android.com/tools
2- Add permissions inside <mainfest>
tag before <application>
tag
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="29" />
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature
android:name="android.hardware.nfc"
android:required="false" />
3- Add to <application>
tag
tools:replace="android:label"
4-Add inside <application>
tag
<activity
android:name="com.nordicid.nurapi.NurDeviceListActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog" />
<service
android:name="com.nordicid.nurapi.UartService"
android:enabled="true"
android:exported="true" />
build.gradle
section add:1- In defaultConfig
section add
minSdkVersion 21
strings.xml
section add:The file in android/app/src/main/res/values/strings.xml
Add the following tag BUT with your app name:
Copy from my library github the libs folder:
https://github.com/amorenew/nordic_id/tree/main/example/android/app/libs
and put the libs folder in your project in the app folder android/app/
Then in your build.gradle in android/app/
folder go to dependencies
section and add the following libraries
implementation files('libs/NurApiAndroid/NurApiAndroid.aar')
implementation files('libs/NurDeviceUpdate/NurDeviceUpdate.aar')
implementation files('libs/NurSmartPair/NurSmartPair.aar')
https://pub.dev/packages/nordic_id
Import the library:
import 'package:nordic_id/nordic_id.dart';
import 'package:nordic_id/tag_epc.dart';
Initialize the Nordic ID reader
await NordicId.initialize;
Open connection to the Nordic ID reader
await NordicId.connect
Refresh and Start tracing/reading the ids/cards
await NordicId.refreshTracing
Stop tracing/reading the ids/cards
await NordicId.stopTrace
Is connected and can start tracing/reading the ids/cards
bool? isConnected = await NordicId.isConnected
Listen to connection status
NordicId.connectionStatusStream
.receiveBroadcastStream()
.listen(updateConnection);
bool isConnectedStatus = false;
void updateConnection(dynamic result) {
setState(() {
isConnectedStatus = result;
});
}
NordicId.tagsStatusStream
.receiveBroadcastStream()
.listen(updateTags);
List<TagEpc> _data = [];
void updateTags(dynamic result) {
setState(() {
_data = TagEpc.parseTags(result);
});
}