Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overlap with the new Android 12 SplashScreen API #311

Closed
2 of 3 tasks
ollm opened this issue May 21, 2021 · 14 comments · Fixed by #337
Closed
2 of 3 tasks

Overlap with the new Android 12 SplashScreen API #311

ollm opened this issue May 21, 2021 · 14 comments · Fixed by #337

Comments

@ollm
Copy link

ollm commented May 21, 2021

Bug Report

In Android 12 now there are two splash screens, first from the SplashScreen API and then from the plugin.

https://developer.android.com/about/versions/12/features/splash-screen
https://developer.android.com/reference/android/window/SplashScreen

Problem

What is expected to happen?

In Android 12 it should show only the splash screen from SplashScreen API.

What does actually happen?

Now there are two splash screens, first from the SplashScreen API and then from the plugin

Information

Command or Code

Environment, Platform, Device

Version information

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above
@bhandaribhumin
Copy link

bhandaribhumin commented Oct 8, 2021

@ollm I have fixed this using hook
create file splash_styles.xml

<resources>
  <style name="SplashTheme" parent="android:Theme.Light">
  </style>
  <style name="Theme.RemoveSplashScreenTheme" parent="SplashTheme">
    <item name="android:windowIsTranslucent">true</item>
  </style>
</resources>

You have to add this file instance in AndroidManifest.xml at MainActivity section.

@ollm
Copy link
Author

ollm commented Oct 8, 2021

Thanks for the solution, I'll wait for now, since I would prefer to use the native Android 12 SpashScreen instead of the plugin.

By the way, you should be able to add the reference to AndroidManifest.xml from config.xml, so you don't have to edit the AndroidManifest.xml file, and if you remove the android platform and add it again, the changes are kept.

    <platform name="android">
        <resource-file src="pathtoxml/splash_styles.xml" target="app/src/main/res/drawable/splash_styles.xml" />
    </platform>

@bhandaribhumin
Copy link

Cordova-android10+ used Theme.AppCompact which is not compatible with our fix.
Hope soon plugin owner fix this.

@alanmilinovic
Copy link

Any news?

@terreng
Copy link

terreng commented Feb 11, 2022

Hi there. I added dark mode support for splash screens. This issue is on my to-do list, and I will look into it when I get the chance (no timeline, hopefully this year) if no one else has fixed it by then.

@bhandaribhumin
Copy link

@terreng if you need any help let me know, I'll help you on this.

@hoatran2205
Copy link

Hi there. I have an issue on Android 12 that SplashScreen didn't close when app init.
My app can run with Android under 12. I used cordova-plugin-splashscreen but with android 12 it show error like:
Msg: Native: tried calling SplashScreen.hide, but the SplashScreen plugin is not installed.
How can I solve this problem. Please help me

@terreng
Copy link

terreng commented Mar 23, 2022

@hoatran2205 Hi there. It looks like you're using Ionic / Capacitor, which is not compatible with this plugin. Please let me know if I am mistaken.

@hoatran2205
Copy link

hoatran2205 commented Mar 23, 2022

@terreng

App version
node: v10.0.1
ionic-native/splash-screen: v5.0.0
cordova-android: v8.0.0
cordova-plugin-splashscreen: 5.0.2

In ionic source, I use "@ionic-native/splash-screen/ngx" to call function to hide splash screen
When build app, I use "ionic capacitor run android" to build Adroid app

@terreng
Copy link

terreng commented Mar 23, 2022

@hoatran2205 If you are using Ionic / Capacitor, then you should be using the Capacitor splashscreen API. It sounds like the issue you are experiencing is related to Ionic / Capacitor, so I suggest you seek help elsewhere.

@jondspa
Copy link

jondspa commented Apr 20, 2022

Hi -

Any update on a new plugin version to deal with the new Android 12 splashscreen. I am getting an Android 12 extra splashscreen with my logo on a black background. I've changed to use android-targetSdkVersion 31 and now I just get the black background, no logo. I am hoping the next version of this plugin allows me to control this Android 12 splashscreen. I've tried all ideas suggested in this thread and none work. Maybe I can specify my own splashscreen or at least a white background. I also upgraded to the latest version of this plugin but didn't help. (I'm using Cordova 10.0.0 and android 9.0.0. Thanks so much! - Jon

@terreng
Copy link

terreng commented Apr 20, 2022

Hi @jondspa. I added dark mode support for splash screens, and this Android 12 issue is on my to do list. I am hoping to create a fix for this issue in the next few months.

@terreng
Copy link

terreng commented Jul 13, 2022

With the release of Cordova Android 11.0.0 yesterday, the Android 12 SplashScreen API is now supported. PR, docs. This issue should be closed. The readme for this plugin should probably be updated.

@erisu
Copy link
Member

erisu commented Jul 14, 2022

@terreng There is already a vote in progress for the release of 6.0.2.

Version 6.0.2 has updated the engine requirements to >=3.6.0 <11.0.0. This plugin starting from 6.0.2 will not install for Cordova-Android 11.x. Obviously, if a user runs an older version of the plugin, it will install. Older versions that were released cant be changed, and usually patch releases for older major versions aren't performed.

PR that updated the engine requirements: #329

Also a note was added to the README.

There will be a major release, 7.0.0, that will remove all of the Android source code and documentation from this repo.

Documentation for settings that remain and the addition of the new Android 12 SplashScreen API is added to the cordova-doc repo and can be seen here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants