Android Question Google Wear OS - Splash Screen Rejection

Steve Addy

Member
Licensed User
Longtime User
I've created an app specifically designed to run on a watch. I've met all Google's rules for a Wear OS app except it keeps getting rejected with...

"Issue found: Missing app icon in splash screen. Your app does not show a 48x48dp app icon on a black background during app startup."

Creating an appeal, Google just repeats the same message, so I don't know (but suspect) it's the size that's wrong. The splash screen looks fine on my watch and the Android Studio Emulator.

My app does show a splash screen as per Elon's Instructions and it does have a black background. I'm using the same (72 x 72) image in the imageview as the program icon. I've tried setting the size to 48dip x 48dip, but still no joy.

Has anyone managed to release a Wear OS app to Google recently with a splash screen that is accepted?
Any other ideas?
 
Solution
Not there yet 😅

These instructions create a custom splash screen. This splash screen appears after your code starts running. It looks like Google wants you to create the splash screen as part of the theme.
Two relevant resources:
Theme Colors

Add to manifest editor:
B4X:
CreateResource(drawable, splash_background.xml, <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/black"/>
        </shape>
    </item>
    <item android:drawable="@drawable/icon"
        android:gravity="center"...

Erel

B4X founder
Staff member
Licensed User
Longtime User
Not there yet 😅

These instructions create a custom splash screen. This splash screen appears after your code starts running. It looks like Google wants you to create the splash screen as part of the theme.
Two relevant resources:
Theme Colors

Add to manifest editor:
B4X:
CreateResource(drawable, splash_background.xml, <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/black"/>
        </shape>
    </item>
    <item android:drawable="@drawable/icon"
        android:gravity="center"
        android:height="48dp"
        android:width="48dp"/>
</layer-list>)

CreateResource(values, themes.xml, <?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="SplashTheme" parent="@android:style/Theme.DeviceDefault">
        <item name="android:windowBackground">@drawable/splash_background</item>
    </style>

    <style name="MainTheme" parent="@android:style/Theme.DeviceDefault"></style>
</resources>)
SetApplicationAttribute(android:theme, "@style/SplashTheme")

You will notice that the icon appears for a short moment while the app is starting.
And to return to the default theme, add this to the main module:
B4X:
#if java
public void _onCreate() {
     setTheme(R.style.MainTheme);
}
#end if
 
Upvote 0
Solution

Steve Addy

Member
Licensed User
Longtime User
Sorry Erel, you deserve to have as much money as E**n, for this great software you've created.

Solved. Your solution has fixed the problem, my app has been accepted by google!
 
Upvote 0
Top