2017-08-09 16 views
-1

私はここで目立ちました。私はログイン活動、スプラッシュ画面の活動と主な活動があります。すでに実行することができますが、最初にログインアクティビティだけを起動してからスプラッシュ画面を表示します主なアクティビティは表示されません。スプラッシュスクリーンにログインしてメインアクティビティにアクセスしてください。

あなたのアドバイスありがとう

これは私のアプリケーションの流れです。ログインアクティビティ>スプラッシュスクリーン>メインアクティビティ

+0

plsマニフェスト – darwin

+0

のランチャーアクティビティとしてスプラッシュ画面が使用されていることを確認してください。ログインは最初に洗濯機として設定され、次にスプラッシュスクリーンに行き、その後主な活動に私は混乱してしまいました –

+0

URが必要なフローは何ですか、詳細に説明できます – darwin

答えて

0

これは非常に基本的なAndroidです。非常に少なくとも、あなたはマニフェストで宣言する必要があります:

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

1が立ち上げた活動(ログイン)で、他のものは彼らの親アクティビティを宣言します。それぞれのアクティビティで適切なタイミングで次のアクティビティを開始する必要があります。

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

これはすべて必要です。注:スプラッシュ画面の方が優れていますが、これで十分です。それが役に立てば幸い。

0

マニフェストで正しくアクティビティを宣言しましたか?それはそうでなければなりません。

<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あなたはそれがMainActivityLoginActivityにジャンプする前に、かどうかloginedユーザーに依存してあなたのapp.Thenを開くと立ち上げた最初の活動でなければなりません。

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); 
    } 

上記のコードはSplashActivity.javaonCreate方法です。

+0

申し訳ありません私はすでに私の質問を編集します。私のケースでは のログインアクティビティが最初にあって、スプラッシュスクリーンアクティビティに行き、main acvitiyに行きます。 –

関連する問題