2017-08-09 7 views
-1

ich bin hier in manifest stecken. Ich habe Login-Aktivität, Splash-Screen-Aktivität und Hauptaktivität. kann bereits ausgeführt werden, aber nur Login-Aktivität zuerst dann Splash-Screen. Hauptaktivität wird nicht angezeigt.Login zu Splashscreen zu Hauptaktivität android

Dank für Ihre Beratung

Diese fließen meine apps ist. Anmeldeaktivität> Splashscreen> Hauptaktivität

+0

pls stellen Sie sicher, dass Sie Splash-Screen als Launcher-Aktivität in Manifest – darwin

+0

aber in meiner Aufgabe verwenden. login wird zuerst als launcer gesetzt und dann gehe zu splashscreen und dann zur hauptaktivität habe ich hier verwirrt –

+0

was ist dein benötigter flow, kannst du das im detail erklären – darwin

Antwort

0

Dies ist sehr einfach Android. Ganz am Minimum, müssen Sie in Ihrem Manifest erklären:

<activity 
    android:name="com.yourpackage.com.LoginActivity"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity 
    android:name="com.yourpackage.com.SplashActivity" 
    android:parentActivityName=".LoginActivity"> 
    <meta-data 
    android:name="android.support.PARENT_ACTIVITY" 
    android:value="com.yourpackage.com.LoginActivity" /> 
</activity> 

<activity 
    android:name="com.yourpackage.com.MainActivity" 
    android:parentActivityName=".SplashActivity"> 
    <meta-data 
    android:name="android.support.PARENT_ACTIVITY" 
    android:value="com.yourpackage.com.SplashActivity" /> 
</activity> 

ist die gestartete Aktivität (Login), die andere erklären ihre Eltern Aktivität; dann auf jede Aktivität, zur richtigen Zeit müssen Sie die nächste Aktivität starten, jeweils wie folgt aus:

// this call happens in LoginActivity 
startActivity(new Intent(LoginActivity.this, SplashActivity.class)); 
// this call happens in SplashActivity 
startActivity(new Intent(SplashActivity.this, MainActivity.class)); 

, die alles, was Sie dazu brauchen, ist. Hinweis: Es gibt bessere Ansätze für den Begrüßungsbildschirm, aber ich denke, im Moment wird Ihnen das genügen. Ich hoffe es hilft.

0

Haben Sie Aktivitäten in Manifest korrekt deklariert? Es sollte so sein.

<activity android:name=".SplashActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".LoginActivity" /> 
    <activity android:name=".MainActivity" /> 

SplashActivity muss die erste Aktivität ins Leben gerufen, wie Sie Ihre app.Then öffnen davon ab, ob Benutzer logined vor oder nicht MainActivity oder LoginActivity zu springen.

boolean loginedBefore = hasLogined();//may be a blocking operationø 
    if (loginedBefore) {//logined before 
     Intent intent = new Intent(SplashActivity.this, LoginActivity.class); 
     startActivity(intent); 
    } else {// first launch 
     Intent intent = new Intent(SplashActivity.this, SplashActivity.class); 
     startActivity(intent); 
    } 

Code ist in den obigen onCreate Verfahren in SplashActivity.java.

+0

Sorry ich bearbeite schon meine Frage. in meinem Fall Login-Aktivität ist sollte zuerst und dann zu Splashscreen-Aktivität gehen dann zur Haupttätigkeit gehen. –

Verwandte Themen