(GUIDE) How to activate the native Flashlight using a custom action

I recently read a request for this in another thread, but given that the thread was a year old and I’ve read a bit more recently about how to figure out what to fill in for the “APP ID” in the Tap Action setting, there are a few Samsung apps that don’t quite work that easily.

The “APP ID” is simply the Package Name for each app, and there are several posts on how to use ADB with the package manager to find that out, so I won’t go into detail there. Here’s a link to that

Most of the time, simply entering the package name exactly as it lists with ADB will do the trick. But a few apps, like the Samsung Wear Flashlight app definitely does not play nicely that way. If you find yourself in a situation where the package name doesn’t work, an easy method to figure out the details is to use Logcat. I use it with Android Studio but you can run it from an ADB Shell (ADB shell logcat).

To figure out the Flashlight, I got the filters set up for Logcat so it would filter for Intents and “Flashlight” or “Flash*”. The I activated the app from the quick panel and a bunch of info comes into play very quickly. Don’t worry, it’s all buffered, after a few seconds hit pause and go back up to where you see the information about the Flashlight.

What I discovered revealed that there are three possible intent filters, but in my case the one that actually ended up working is the one that seems a little preposterous:

com.samsung.android.watch.flashlight/com.samsung.android.watch.flashlight.FlashLightActivity.

I was able to decompile a Samsung version of the Android 12 API, and I was able to look at the code for the flashlight app. It’s complicated, but I think I understand why the long and duplicated code works.

Right now I’m working out the WaterLock feature, I think I’m close but we’ll see. Anyhow, I hope this makes sense, if you have any questions feel free to post them up.

1 Like

@bruce.bergdahl

In the back of my mind sometime in the past I think someone said there was a size limit for the custom app ID maybe a WFS limitation. It might be why in this Topic @amoledwatchfaces health://heartrate works instead of the long shealth appID but it may be portability.

Ron
Samsung Developer Relations

1 Like