2017-10-16 3 views
0

Ich versuche, eine Webview-App zu erstellen, die nach dem ersten Mittagessen einmal einen Startbildschirm anzeigt. Sobald ich die App öffne, wird der Begrüßungsbildschirm angezeigt. Nach 5 Sekunden wird die Hauptaktivität VaultActivity geladen, aber nachdem ich die Codezeile hinzugefügt habe, um zu überprüfen, ob der Begrüßungsbildschirm 'SplashScreen' zuvor gestartet wurde, lädt die App VaultActivity mit der SPLASH_TIME_OUT ich setze und auch der Splash-Screen immer noch zeigt, wenn ich die App Mittagessen.Webview Begrüßungsbildschirm wird nicht wie erwartet angezeigt

Anfangs

public class SplashScreen extends Activity { 

    private static int SPLASH_TIME_OUT = 5000; // Splash screen timer 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash); 

      new Handler().postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        // Start main activity 
        Intent intent = new Intent(SplashScreen.this, VaultActivity.class); 
        startActivity(intent); 
        finish(); 
       } 
      }, SPLASH_TIME_OUT); 

    } 
} 

Aktuell

public class SplashScreen extends Activity { 

    private static int SPLASH_TIME_OUT = 5000; // Splash screen timer 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash); 

     SharedPreferences pref = getSharedPreferences("ActivityPREF", Context.MODE_PRIVATE); 
     if(pref.getBoolean("activity_executed", false)){ 
      new Handler().postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        // Start main activity 
        Intent intent = new Intent(SplashScreen.this, VaultActivity.class); 
        startActivity(intent); 
        finish(); 
       } 
      }, SPLASH_TIME_OUT); 
     } else { 
      SharedPreferences.Editor ed = pref.edit(); 
      ed.putBoolean("activity_executed", true); 
      ed.commit(); 
     } 
    } 
} 

Mein Manifest

<activity 
     android:name=".SplashScreen" 
     android:launchMode="singleTask" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".VaultActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="http" 
       android:host="example.com" 
       android:pathPrefix="/androidmobile" /> 
     </intent-filter> 
    </activity> 

Antwort

0

:) Sie müssen nur StartActivity in else Abschnitt hinzufügen.

public class SplashScreen extends Activity { 



      private static int SPLASH_TIME_OUT = 5000; // Splash screen timer 

      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_splash); 

       SharedPreferences pref = getSharedPreferences("ActivityPREF", Context.MODE_PRIVATE); 
final SharedPreferences.Editor ed = pref.edit() 
       if(pref.getBoolean("activity_executed", false)){ 
        //ed.putBoolean("activity_executed", true); 
        //ed.commit(); 

    Intent intent = new Intent(SplashScreen.this, VaultActivity.class); 
          startActivity(intent); 
          finish(); 
       } else { 
        new Handler().postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          // Start main activity 
          Intent intent = new Intent(SplashScreen.this, VaultActivity.class); 
          startActivity(intent); 

        ed.putBoolean("activity_executed", true); 
        ed.commit(); 

          finish(); 
         } 
        }, SPLASH_TIME_OUT); 

       } 
      } 
     } 
+0

noch nicht, ich es getestet und es funktioniert nicht Mittagessen den Splash-Screen auf dem ersten Mittagessen dann auf der nächsten Mittagessen es tut – Peter

0

Sie haben den Stern nennen tActivity in Ihrem anderen.

Verwandte Themen