Realizado

Xamarin - Bluetooth Low Energy

Publicado em 01 de Novembro de 2021 dias na TI e Programação

Sobre este projeto

Aberto

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 Geral do Projeto

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.

Categoria TI e Programação
Subcategoria Programação de Apps para Android, iOS e outros
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Plataformas exigidas Android
Eu preciso Eu preciso modificar um app existente
Tipo de aplicativo Utilidade - Aplicativo para utilidade (flash,calculadora,etc)
Precisa de back-end Não
Gateway de pagamento Não

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por D. G. P.