Заставка отображается только после чистой установки - PullRequest
2 голосов
/ 13 мая 2011

Я сделал заставку с Активом. Я последовал следующему примеру http://www.anddev.org/viewtopic.php?t=815, и он отлично работает при установке. Но тут начинается моя проблема. Это показывает только после установки. Поэтому, когда я убиваю свое приложение, действие больше не загружается, оно напрямую загружает мое второе действие. Я думаю, что это немного странно, потому что я установил фильтр намерений в своем манифест-файле на заставке.

Кто-нибудь знает, как решить эту проблему?

Это мой манифест:

<application android:icon="@drawable/icon" android:label="@string/app_name" 
android:theme="@style/MyLightTheme.NoShadow" android:debuggable="true"  android:name="android.app.Application" > 
<uses-library android:name="com.google.android.maps" />

    <activity android:name=".MainActivity" android:label="@string/app_name"></activity>
    <activity android:name="FindJob" android:label="@string/FindJobTitel"></activity>
    <activity android:name="JobDetails" android:label="@string/MaatTitel" ></activity>
    .
    .
    .
    <activity android:name="Splash" android:configChanges="orientation" android:label="@string/Splash">    
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter></activity>
</application>

Splashscreencode:

private final int SPLASH_DISPLAY_LENGHT = 5000;
//private Drawable drawable;
private ProgressBar mProgress;
private int mProgressStatus = 0;


/** Called when the activity is first created. */ 
@Override
public void onCreate(Bundle icicle) {
     super.onCreate(icicle);          
     setContentView(R.layout.splash);         
     mProgress = (ProgressBar) findViewById(R.id.progressBar1);         
     }


public void onStart(){
    super.onStart();
    //Log.i("START", "In on start");
    Thread splashThread = new Thread() {
        @Override
        public void run() {
           try {
              int waited = 0;
              while (mProgressStatus < 100) {
                 sleep(80);
                 //waited += 200;
                 mProgressStatus += 4;
                 mProgress.setProgress(mProgressStatus);
              }
           } catch (InterruptedException e) {
              // do nothing
           } finally {
              finish();
             Intent i = new Intent(Splash.this, MainActivity.class);
              startActivity(i);
           }
        }
     };
     splashThread.start();   
}

ОБНОВЛЕНИЕ: размещение android:noHistory="true" в mainActivity в ManifestFile решает проблему. ТЕМ НЕ МЕНИЕ. Каждый раз, когда я покидаю приложение, оно перезапускает все это (заставка, основная активность и не последняя загруженная активность). Но лучше, чем раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...