Мое приложение аварийно завершает работу при тестировании в Android 14 при использовании flutter_esp_ble_provAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Мое приложение аварийно завершает работу при тестировании в Android 14 при использовании flutter_esp_ble_prov

Сообщение Anonymous »

при запросе разрешения на начальном этапе мое приложение вылетает, но когда пользователь разрешает разрешение через некоторое время, мое приложение вылетает. Я вызываю эти две функции при инициализации.
Ошибка при сбое

Код: Выделить всё

java.lang.IllegalStateException: Reply already submitted
at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:435)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:272)
at how.virc.flutter_esp_ble_prov.BleScanManager$call$1.scanCompleted(FlutterEspBleProvPlugin.kt:255)
at com.espressif.provisioning.device_scanner.BleScanner.stopScan(BleScanner.java:144)
at com.espressif.provisioning.device_scanner.BleScanner$1.run(BleScanner.java:161)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8893)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Это мой код.

Код: Выделить всё

void startListeningToScannedResults() async {
// Check platform support and necessary requirements
final can = await WiFiScan.instance.canGetScannedResults(askPermissions: true);
switch (can) {
case CanGetScannedResults.yes:
// Check if the subscription is null before creating a new one
if (subscription == null) {
subscription = WiFiScan.instance.onScannedResultsAvailable.listen((results) {
accessPoints = results;
uniqueWifiList.value = {...accessPoints.map((WiFiAccessPoint) => WiFiAccessPoint.ssid)}.where((ssid) => ssid != null).cast().toList();
if (selectedWifiName.value == '') {
selectedWifiName.value = uniqueWifiList[0];
}
});
}
break;
// Handle other cases as needed
}
}
void scanBleDevices() async {
final prefix = deviceNamecontroller.text;
print("PREFIX : $prefix");

if (isSetupButtonPressed.value) {
print("Scan operation already in progress");
return;
}

try {
isSetupButtonPressed.value = true;

final scannedDevices = await _flutterEspBleProvPlugin.scanBleDevices(prefix);

bleDevicesList.value = scannedDevices;

if (selectedDeviceName.value.isEmpty && bleDevicesList.isNotEmpty) {
selectedDeviceName.value = bleDevicesList.first;
}
} catch (error) {
// Handle any errors that occur during BLE scanning
print("Error during BLE scanning: $error");
Get.snackbar(
"Error",
"Failed to scan BLE devices: $error",
snackPosition: SnackPosition.BOTTOM,
);
} finally {
// Reset the flag indicating that the scan operation is complete
isSetupButtonPressed.value = false;
}
}
Я интегрирую ESP Ble Provisioning. Я просто хочу получить разрешение пользователя, и тогда все должно работать правильно.

Подробнее здесь: https://stackoverflow.com/questions/783 ... p-ble-prov
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»