/r/WearOSDev
A place to ask questions, share resources, and have discussion about Wear OS development.
Welcome to the Wear OS developer's community. A place to ask questions, share resources, and have discussion about Wear OS development.
/r/WearOSDev
Let's look back at some memorable moments and interesting insights from last year.
Your top 10 posts:
Not sure if anyone is aware but Google never updated WearOS preferences to AndroidX. If you convert your Preferences to AndroidX it uses a phone's UI which looks terrible on WearOS. The only solution is to either make your own custom preferences or continue to use the deprecated preferences and hope Google updates them at some point.
There is an IssueTracker ticket which hasn't been updated in forever. I'm not sure if Google is ever going to fix it. Would help t get more stars though.
I have a number displayed on the screen and I want it to change the number when the user scrolls, I have googled how to get the scrolling input but it doesn't seem to work, any ideas? This is for the galaxy watch 4 by the way. Thanks!
Hi all,
We are watch face developers and we noticed that the latest WearOS update makes our watch face crash.Started from 9. Feb we see a lot of ANR errors and most of these errors happened on the WearOS side. Does any of you developers experience the same or similar problem?
Tnx in advance.
This is really the only pain point I have with Android dev on M1. There is this post, but that was 9 months ago with no resolution. Has anyone figured out a workaround yet?
I just noticed, my custom WearableListenerService stopped functioning after latest Android12 update. Now as onDataChange event raises, the custom WearableListenerService is not launched any more. Does anyone experience the same?
Is it related to the Foreground service launch restrictions of Android 12 ?
Hello,
I published my app to Play Store with two App Bundles : For phones and for watches
But on my mobile phone (Picture 1), it doesn't show "Install on phone. Other devices availables" like Picture 2.
But when I go to my watch, the app is available (Picture 3).
I don't know how to fix this issue,
Thank you !
Hey guys I think I just found the solution to the following problems...
(Samsung GW4, wearOS 3)
It's near impossible to remap physical buttons and henceforth do cool stuff with them. Solution?: self-sticking NFC buttons like these https://dimple.io/
Can a smartwatch (in particular GalaxyWatch4, wearOS 3) make use of these buttons? Is NFC locked down for payments or can I read with the NFC-Chip?
I would give android coding another shot if this was possible in theory. I would only want a button push to launch an app - the rest would be done in Tasker.
Cheers
Problems I encountered while trying to bring my smart home to my watch using Tasker and various Button-Remap-Apps that are available today:
*they allow users to remap long-press-Button1 to launch any app but don't have that config-option for Button2 which doesn't even have a secondary system function by long pressing...WTF
Hello,
I tried to add Wear OS to my app but got refused (Screenshots). I changed the screenshots with new ones (But correct) But I don't know how to submit for a new review
Thanks
Create a build type that's debuggable, but employs resource and code shrinking. This makes the resulting APK much smaller resulting in faster deployments to the device, and better performance during development/debugging/testing (especially on older devices).
(e.g)
slimDebug {
initWith debug
matchingFallbacks = ['debug']
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
Obviously, disable code obfuscation for this build.
I just think it would be amazing if I could put my watch to someone's phone and share a contact or something like a digital business card. I know the qr code thing, nfc is just awesome. (New to nfc btw)
I couldn’t find this in the docs anywhere, and I also haven’t come across any standalone Wear OS apps that do IAB, so I’d like to ask the community before trying to prototype this myself.
Thanks in advance!
Use case: a Wear OS watchface that requires periodic location permissions (meaning once every hour or so). The code requires ACCESS_COARSE_LOCATION permission.
The watchface has been working fine on current watches running the February 2021 version of the OS, but the fused location provider has not been able to get location on some of the latest Samsung Watch4 watches (which appear to be using some early version of Wear 3.0).
The Google Java/Kotlin documentation for Wear development is somewhat thin, but seems to suggest that for builds targeting API 30+ (and I have "targetSdkVersion" set to the latest, 31) the app also needs to secure ACCESS_BACKGROUND_LOCATION permission.
Is this true?
I can understand needing this for a phone/mobile app, but for a watchface -- which has no startup activity and by definition is always "on" -- using location "only while using the app" is really all you need. Yet unless I click "allow all the time," location is not available. If I DO click it, though, everything works as expected.
Interested to hear if it's really this complicated.
Did anybody try to implement Samsung Health API so that we can show data in the watch face complications? I read that they don't allow that to the third-party app developers. Am I right?
After working a bit with the Tiles API I got frustrated by the builder-hell. I'm sure you can relate if you've tried it. I'm not sure what Google is thinking but this is definitely not helping to give the platform the boost it needs.
I laid out my concerns in the issue tracker which you can star or comment on if you agree: https://issuetracker.google.com/issues/213757971
I have a project in Reactive native. Now I have a requirement to perform an action in the android watch app. For this first, I need to communicate my app(react native) to wear OS. In iOS, they provide a library to communicate react-native to watch app But in android, there is no library or plugin available.
I checked and tried this GitHub link project. https://github.com/bevkoski/react-native-android-wear-demo
It was developed 5 years before and had some deprecated methods. Also, it's not working
Is there any possibility for communication using wear OS 2.0 or above?
I'm a student working on a project where i need to extract raw sensors data from smart band, I wonder is there any cheap device run on wearOS you guys recommend?
also I want to know if you guys have any idea how to retrieve raw sensors data? especially gyroscope and accelerometer.
thanks for your help
I have built a watch face app for Wear OS on Watch Face Studio and published the .aab from there to Google Play. So far so good, however I've now built a companion app with Android Studio and got another .aab from there. My question is how do I publish both of these separate apps as one to Google Play? (Both have the same package name)
I'm playing around with Watch Face Studio trying to make my own ideal watch face (bc I'm a nitpicky jerk trying to satisfy his ADHD 😅). While doing this, I want to be sure I'm as battery efficient as possible.
I realize there are obvious things, like a white background is not ideal, more complications & data use means more work for the watch (more battery use), and aod should have less stuff and maybe be dimmer.
What are some of the more technical, and maybe not-so-obvious best practices and things to do in order to conserve the most battery life while still having a useful watch face? Thoughts related to this:
I feel like I've read certain colors (like #00ff00) are more battery efficient bc of power required to illuminate the pixels.
creating duplicate layers of complications or other elements that are full-brightness on active face and, say, 30% on aod... Is that useful? Or does adding the duplicate layer defeat the purpose?
are certain types of complications more/less battery efficient than others?
I know I'm getting technical here, and really delving into the minutia, but that's kind of the point. Any thoughts/opinions/guidance welcome, and thanks in advance!
I have opened a feature request at google to auto generate heart rate synthetic data on emulator, so that devs don't need to move the virtual heart rate sensor slider constantly to get synthetic data generated. Please support this feature request by staring it (https://issuetracker.google.com/issues/209821053). Really looking forward to your support should you like the idea.
Hi, I think this is the right place where to ask this question...what's the difference between native and icq's watch faces ? On my fenix 6 the fonts of native's are far too small so I use some bigger fonts available in the store. I understand the natives don't use a virtual machine while icq's do introducing so delays in data refresh, battery life etc...You're programmer so I wonder whether you have a genuine answer to this question.... Thanks !
So, I have a Completable.timer setup to basically fire at some future time not too far off (a few minutes). However, it looks like the timer either never triggers or triggers very late.
Completable.timer(oneMinuteRemainingEventTimeMs, MILLISECONDS, AndroidSchedulers.mainThread()).subscribe{myActionHere}
Does anyone know why? I'm guessing it's related to ambient mode, but I'm not sure.
I have a Samsung Watch 4 running Wear OS 3. I am trying to log a collection of sensor data when I wear the watch. For example, I want to log accelerometer, magnetometer, gyroscope, etc., data. So far I am able to register a listener and able to get the sensor data.
public void onSensorChanged(SensorEvent event) {
...
}
This callback method actually fires for each sensor data change. So I am getting the following outputs:
onSensorChanged called -> Accelerometer values...
onSensorChanged called -> Gyroscope values...
What I don't know is if the data points belong to the same time instance. For example, at time T, I want to record all sensor data values. There is a timestamp
field under the event object, but that would require some post-processing. Any other neat way to just do simple logging of data (the purpose of the data is to do some ML stuffs).
Thanks for any hint.
Is there any way that I can add an hour hand which represent the time in the selected time zone. I can select time zone in the watch face studio but not in the watch. I am trying to recreate the Rolex GMT Master Watch face
Hi all, i have one question and I hope a dev subreddit is a good place to ask it, is there a way to lower brightness even more, i mean even below 0 on ticwatch E3, since this watch has no real dimmed mode cause of the screen type I guess(led) So i want to "fake one" turning the brightness below minimum it goes from 0 to 254 but 0 is anyway too bright..can't find nothing online i even tried to make a black watchface but the problem remains the same
This is a tutorial for the new way of creating watch faces for Wear OS using Watch Face Studio provided by Samsung. I find it very easy and entertaining.