1

I have a watch face for Wear OS that I built several years ago. Recently, users have been complaining of crashes on the Galaxy Watch 4. I picked one up and found that Complication icons aren't properly loading on it. Calling complicationData.getIcon() returns an Icon, but calling loadDrawable() on that produces a null value. There must be a way to get Complication icons still? Plenty of watch faces have them.

rjr-apps
  • 352
  • 4
  • 13

1 Answers1

2

Turns out, the issue at hand is Google's restrictions on package visibility in Android 11+. The fix is to declare <queries> in your manifest based on the ACTION_COMPLICATION_UPDATE_REQUEST intent filter:

<queries>
    <intent>
        <action android:name="android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST" />
    </intent>
</queries>
rjr-apps
  • 352
  • 4
  • 13
  • 2
    The [wear watchface library](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:wear/watchface/watchface/src/main/AndroidManifest.xml;l=22) already includes this line for you. Are you not using the latest version of Wear Watchface? – ianhanniballake Aug 10 '22 at 05:22
  • @ianhanniballake no, I built the watchface five years ago now. Am considering doing a full rewrite one of these days, though. – rjr-apps Aug 16 '22 at 19:30