2016-07-30 5 views
0

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?

+3

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) –

+1

Sie können die gemeinsame Einstellung für dasselbe verwenden. –

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.