我的颤振应用。
我试图在后台获取所有 BLE 设备,激活表单 printHello()
函数。
我有以下错误:
以下行的错误 - FlutterBlue _flutterBlue = FlutterBlue.instance
;
有人有新的信息吗? 我看到了类似的问题并尝试实施它们,但我无法解决问题。
这里是日志:
I/flutter (20509): [2021-02-04 18:39:34.118258] Start Scanning
I/flutter (20509): [2021-02-04 18:39:34.118258] end of scanning
E/flutter (20509): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method isAvailable on channel plugins.pauldemarco.com/flutter_blue/methods)
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final int helloAlarmID = 0;
await AndroidAlarmManager.initialize();
runApp(MyApp());
await AndroidAlarmManager.periodic(const Duration(seconds: 30), helloAlarmID, printHello);
}
void printHello() {
final DateTime now = DateTime.now();
final int isolateId = Isolate.current.hashCode;
print("[$now] Hello, world! isolate=${isolateId} function='$printHello'");
_getDevices();
}
void _getDevices() {
final DateTime now = DateTime.now();
print("[$now] Start Scanning");
bool _found = false;
FlutterBlue _flutterBlue = FlutterBlue.instance;
_flutterBlue.startScan(timeout: Duration(seconds: 4));
var subscription = _flutterBlue.scanResults.listen((results) {
for (ScanResult r in results) {
// print('111 ${r.device.name} 2 ${r.device.id } 3 found! rssi: ${r.rssi}');
if (('${r.device.id }'=="XXX" )& (_found==false)) { print ("[$now] ----------");_found = true;
}
}
});
_flutterBlue.stopScan();
print("[$now] end of scanning");
}
答案 0 :(得分:0)
我将侦听器移动到主屏幕中的 initState() 及其工作
flutterBlueInstance.scan().listen((event) {
var _event = event;
if (_event.advertisementData.localName.toString() == ..... }