starter_readdata (java line: 305)
java.lang.RuntimeException: Service not found
at anywheresoftware.b4a.objects.BleManager2.getService(BleManager2.java:260)
at anywheresoftware.b4a.objects.BleManager2.readableCharsFromService(BleManager2.java:243)
at anywheresoftware.b4a.objects.BleManager2.ReadData2(BleManager2.java:194)
at anywheresoftware.b4a.objects.BleManager2.ReadData(BleManager2.java:186)
at b4a.example.starter._readdata(starter.java:305)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:897)
at anywheresoftware.b4a.keywords.Common.CallSubNew(Common.java:831)
at b4a.example.main._polldata(main.java:1138)
at b4a.example.main._sectimer_tick(main.java:1261)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
There is, as it's a dedicated service for that device for a specific feature, and it's been detecting it fine up till a random point. But is there a way to gracefully fail though? try/catch didn't work.
You should only access services that are listed in the Connected event. Check whether this specific service is listed or not and do not call it if it doesn't.