So zeigen Sie Splash-Bildschirm, wenn USER meine Anwendung installieren. Ich möchte den Begrüßungsbildschirm nicht jedes Mal anzeigen, wenn der Benutzer ihn öffnet, sondern nur, wenn USER das Telefon auf dem Telefon installiert und es zum ersten Mal öffnet. Wie erreiche ich das?Wie man einen Splash Screen auf der App einmal zeigt?
0
A
Antwort
1
Sie müssen jedes Mal überprüfen, wann App geöffnet wird, ist es das erste Starten der App? Wenn ja, dann zeigen Sie Ihre einmalige Splash-Screen sonst zeigen Sie Hauptaktivität
können Sie gemeinsame Präferenz verwenden, um Daten über den ersten Start zu speichern.
0
In Ihrer Hauptaktivität, die Sie jedes Mal beim Starten der App anzeigen, versuchen Sie die folgende Logik.
SharedPreferences mPrefs;
final String splashScreenPref= "SplashScreenShown";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
Boolean splashScreenShown= mPrefs.getBoolean(splashScreenPref, false);
if (!splashScreenShown) {
Intent intent=new Intent(MainActivity.this,SplashScreenActivity.class);
startActivity(intent);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(splashScreenShown, true);
editor.commit();
finish();
}
}
diese Links zum besseren Verständnis finden, wie SharedPreferences verwenden: link1, link2, link3
0
Hier
Sie sollten Anwendungsklasse erstellen und aufrufen müssen erfordern Aktivität von Anwendungsklasse onCreate-Methode.
public class Appli extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
//manage base on your requirement,you can use share preference for splash screen track
Intent intent = new Intent(this,Main2Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
Manifest:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:name=".Appli"
android:theme="@style/AppTheme">
</application>
Above Code sicher Arbeit, die ich getestet habe.
Verwandte Themen
- 1. Android: "Splash-Screen" nur einmal
- 2. Android Splash Screen Bug
- 3. Splash-Screen, der mehr als einmal angezeigt wird
- 4. j2me Splash-Screen
- 5. Splash-Screen auf Android mit Phonegap + Eclipse
- 6. Splash-Screen-Aktivität Hintergrundfarbe
- 7. Genymotion auf Splash-Screen stecken
- 8. Android Splash Screen Mittelbil
- 9. Android Splash Screen Dauer
- 10. Anpassen android Splash-Screen
- 11. Runtime Splash Screen iPhone
- 12. Splash-Screen Android
- 13. Ios 6 Simulator auf Splash-Screen stecken
- 14. Splash-Screen nicht kommen
- 15. Java 6 Splash Screen
- 16. WPF Splash Screen mit dynamischen Elementen. Wie?
- 17. Native Android Splash Screen reagieren
- 18. Open Splash-Aktivität einmal
- 19. Cordova Splash-Screen-Plugin iPad Landschaftsmodus Problem
- 20. Ionic Splash-Screen-Konfiguration und Hintergrund
- 21. Xamarin Formen Splash-Screen-Problem
- 22. Splash Screen, Wiedergabe eines mp4
- 23. machen activity_main.xml als Splash-Screen
- 24. Android Splash Screen ist geschrumpft
- 25. Kivy Splash Screen Bild mit Einblendeffekt
- 26. yocto splash screen nicht erscheinen
- 27. Splash-Screen für Universal-Windows 10 Apps
- 28. Splash-Screen kehrt nicht zum Hauptformular zurück
- 29. Text erscheint nach Splash screen
- 30. wie man Splash-Screen in Windows Phone 8 Anwendungsentwicklung
mögliche Duplikate von [Wie mache ich einen Startbildschirm?] (Http://stackoverflow.com/questions/5486789/how-doi-i-make-a-splash-screen?rq=1) oder [Wie Splash-Screen nur anzeigen, wenn die App "frisch" startet?] (http://stackoverflow.com/questions/7682439/how-to-show-splash-screen-only-when-the-app-starts-fresh?rq = 1) –
Sie können die gemeinsame Einstellung für dasselbe verwenden. –