androidwear-osandroid-wear-complicationsamsung-galaxy-watch-4

Cannot find Complication icon on Galaxy Watch 4


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.


Solution

  • 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>