Last updated:
0 purchases
moyoung bluetooth plugin
MoYoung Ble Plugin #
1 Introduction #
Welcome to use this plugin. This is a Flutter plugin for communicating with the watch.
1.1Platform Support #
Android
iOS
✔️
✔️
1.2 Usage #
To use this plugin, add moyoung_bluetooth_plugin as a dependency in your pubspec.yaml file.
moyoung_bluetooth_plugin: ^latestVersion
copied to clipboard
1.3 Project configuration #
Android
1.Perform the following configuration when generating apk for code obfuscation. Please add the following configuration to your proguard-rules.pro file.
-keep class com.crrepa.ble.** { *; }
-keep class com.example.moyoung_bluetooth_plugin.** { *; }
copied to clipboard
2.In your App Module, modify the following configuration.
android {
...
defaultConfig {
...
minSdkVersion 18
...
}
...
}
copied to clipboard
IOS
1.You need to add it to the info.plist .
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Use the location to sync weather from your phone to your watch.</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Use the Bluetooth to connect to your Nokia Watch</string>
<key>NSCalendarsUsageDescription</key>
<string>Use the calendar to sync events from your phone to your watch.</string>
<key>NSCameraUsageDescription</key>
<string>Use the camera to scan the QR code on your watch screen.</string>
<key>NSContactsUsageDescription</key>
<string>The selected contacts will be added to your Watch contacts.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Use the Photo to change your watch face.</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>bluetooth-central</string>
</array>
copied to clipboard
2.Use terminal, in your path for project,use pod install to import the library.
1.4 Example #
First setp
Import package.
import 'package:moyoung_bluetooth_plugin/moyoung_ble.dart';
copied to clipboard
Second step
Apply for some permissions: [location, storage].
Tip1: You need to apply for these permissions yourself
Tip2: Of course you can use the example in the Example project to apply for permissions. But, please note the configuration of permissions in this file:AndroidManifest.xml
Third step
Use in pages.
class _MyAppState extends State<MyApp> {
final _streamSubscriptions = <StreamSubscription<dynamic>>[];
final MoYoungBle _blePlugin = MoYoungBle();
final List<BleScanBean> _deviceList = [];
@override
void initState() {
super.initState();
subscriptStream();
}
void subscriptStream() {
_streamSubscriptions.add(
_blePlugin.bleScanEveStm.listen(
(BleScanBean event) async {
setState(() {
if (event.isCompleted) {
//Scan completed, do something
} else {
_deviceList.add(event);
}
});
},
),
);
}
@override
void dispose() {
super.dispose();
for (final subscription in _streamSubscriptions) {
subscription.cancel();
}
}
// Scanning bluetooth devices
void startScan() {
if (!mounted) return;
_blePlugin.startScan(10*1000).then((value) => {
setState(() {
// Do something.
print(value ? "Scanning" : "Have not started");
})
}).onError((error, stackTrace) => {
//Usually some permissions are not requested
print(error.toString())
});
}
}
copied to clipboard
1.5 Detailed usage document #
Click to Wiki.
1.6 Full sample project #
The Example project contains details about how the code is used.
Click to Example.
1.7 GNU GENERAL PUBLIC LICENSE License #
Click to License.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.