Terminado

Xamarin - Bluetooth Low Energy

Publicado el 01 Noviembre, 2021 en Programación y Tecnología

Sobre este proyecto

Abierto

Basicamente o projeto é resolver um bug de uma aplicação em Xamarin, ao utilizar um plugin em versões Android mais novas.

A aplicação é desenvolida Xamarin, utiliza o Plugin.BLE (github.com/xabre/xamarin-bluetooth-le) para acesso a dispositivos Bluetooth Low Energy.
A aplicação é funcional em dispositivos Android até versão 9. Posterior a esta versão (10,11..
.) Ele apresenta erro de GATT, um acesso de permissões de alterar caracteristicas.
Uma situação do plugin Bluetooth LE.
Creio que esse projeto deva ser feito conjuntamente comigo, pois o APP/SmartPhone se comunica com um dispositivo que está comigo e sem o dispositivo o APP não acessa a área onde o erro acontece.


Detalhes do Erro:
Erro Detalhes ############################################

Erro: Plugin.BLE.Abstractions.Exceptions.CharacteristicReadException
Message=GATT: SetCharacteristicNotification to false, FAILED.
Source=mscorlib
StackTrace:
at Plugin.BLE.Android.Characteristic.StopUpdatesNativeAsync () [0x00061] in D:\a\xamarin-bluetooth-le\xamarin-bluetooth-le\Source\Plugin.BLE.Android\Characteristic.cs:164
at BT110MC.TabbedPageF1.<Button_Clicked>b__21_0 () [0x00025] in E:\app\BT110MC\BT110\BT110\TabbedPageF1.xaml.cs:206
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:36
at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in /Users/builder/azdo/_work/1/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in /Users/builder/azdo/_work/1/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Java.Lang.IRunnable.cs:84
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.1(intptr,intptr)


Erro Resumido ############################################

Plugin.BLE.Abstractions.Exceptions.CharacteristicReadException
Message=GATT: SetCharacteristicNotification to false, FAILED.
Aplicação já publicada em Android e IOS. Porém com esse problema.
Valor a combinar.

Parte do código ############################################
//Implementação original com erro
await _characteristic.StopUpdatesAsync();
await _characteristic.StopUpdatesAsync();
await _characteristic.StopUpdatesAsync();
await _characteristic.StartUpdatesAsync();

//Sugestão de implementação da equipe Plugin.BLE/xamarin-bluetooth-le que também apresentou erro de forma mais tardia
Device.BeginInvokeOnMainThread(async () => { await _characteristic.StopUpdatesAsync(); });
Device.BeginInvokeOnMainThread(async () => { await _characteristic.StopUpdatesAsync(); });
Device.BeginInvokeOnMainThread(async () => { await _characteristic.StopUpdatesAsync(); });
Device.BeginInvokeOnMainThread(async () => { await _characteristic.StartUpdatesAsync(); });

Contexto general del proyecto

O projeto consiste em corrigir o bug que ao meu ver é dado ao método de acesso ao dispositivo/plugin que deve ter sido modificado nas versões mais novas do android, pois o mesmo está funcionando em versões mais antigas. É Um trabalho de desenvolvimento/pesquisa.

Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo No aplica
Disponibilidad requerida Según se necesite
Plataformas requeridas Android
Necesito Modificar una app existente
Tipo de app Utilidad - Aplicación de utilidad (flash, calculadora, etc.)
Necesita backend No
Procesador de pago No

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por D. G. P.