I have been granted access to the Samsung Health SDK and have been working on it to get raw ppg signal from galaxy watch 4.
However, I have encountered an error message stating, “Client binder is null.” I am uncertain about the root cause of this error and would greatly appreciate your guidance in resolving it.
I have considered whether this issue might be related to developing the app using Kotlin as the primary programming language.
thank you for your help
What do you mean by Samsung Health SDK
Do you mean the Privileged Health SDK which is for Galaxy Watch 4 and newer running Wear 3 or new
or the old
Samsung Health SDK for Android
That was for Samsung Galaxy Watch 3 or older with Tizen Operating system.
And what watch are you using?
If you are using Watch 4 and newer you may manually have to give permission on the watch.
Knowing that I can help direct you to the proper documentation or support.
Ron
Samsung Developer Relations
thank you for your reply.
yes, the sdk that I am using is [samsung-priviledged-health-sdk-tracking-service_v1.1.0]
we are developing with galaxy watch 4 and 5.
what do you mean by manually giving permission on the watch?
can you give me more detail please
Thanks
@bambit
what do you mean by manually giving permission on the watch?
I know a little about the old Heath SDK and a lot less about the Privileged SDK but for my Pro 4 in Settings → Samsung Health
Scroll down and it has
Share data with devices and services
Health Platform is one one of the Services to share
There is a Blog for Health Client Types That may help
If you haven’t already check out the blog tutorials for Wear OS Health written by the Health Team to instruct new Health Developers.
If you don’t see any solution in the Blogs, You may need to ask for assistance in From the health partner services or Technical support
I hope that gets you on track in one way or another.
Ron
Samsung Developer Relations
Hi, This error occurs when I call val availableTrackers = healthTracking.trackingCapability.supportHealthTrackerTypes
and ppgGreenTracker = healthTracking.getHealthTracker(HealthTrackerType.PPG_GREEN)
Error code is like below
FATAL EXCEPTION: main
Process: com.bambit.silvercare, PID: 4416
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bambit.silvercare/com.bambit.silvercare.presentation.MainActivity}: java.lang.IllegalStateException: Client binder is null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3456)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3612)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2073)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:7690)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
Caused by: java.lang.IllegalStateException: Client binder is null
at com.samsung.android.service.health.tracking.HealthTrackerCapability.getSupportHealthTrackerTypes(Unknown Source:2)
at com.samsung.android.service.health.tracking.HealthTrackingService.getHealthTracker(Unknown Source:34)
at com.bambit.silvercare.presentation.MainActivity.trackPpgGreen(MainActivity.kt:92)
at com.bambit.silvercare.presentation.MainActivity.access$trackPpgGreen(MainActivity.kt:26)
at com.bambit.silvercare.presentation.MainActivity$onCreate$1.invokeSuspend(MainActivity.kt:113)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at com.bambit.silvercare.presentation.MainActivity.onCreate(MainActivity.kt:110)
at android.app.Activity.performCreate(Activity.java:8033)
at android.app.Activity.performCreate(Activity.java:8013)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3429)
All I can suggest is you ask for assistance from Technical support
Ron
Samsung Developer Relations
Hi, I have the same problem with getting this error. Did you find a solution?