2014-04-25 134 views
0

我想知道爲什麼我的應用程序在恢復應用程序時忽略了我的SplashScreen.java活動。如果我用「返回」按鈕關閉它,初始屏幕出現,但是如果我用主頁按鈕退出,則不會調用SplashScreen活動...... :(恢復應用程序時忽略初始屏幕活動 - Android

我甚至添加了onResume事件,但閃屏仍然​​不會拿出恢復我的應用程序時 謝謝!

SplashScreen.java

public class Splash extends Activity { 

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

    } 

    protected void onResume(){ 
     super.onResume(); 
     spashStart(); 
     } 


    private void spashStart() { 
     Thread splashTimer = new Thread() { 
      public void run(){ 
       try{ 
        sleep(5000); 
        Intent mainActivity = new Intent("com.exploreca.tourfinder.MainActivity"); 
        startActivity(mainActivity); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } finally { 
        finish(); 
       } 
      } 
     }; 
     splashTimer.start(); 
    } 

} 

Maifest:

... 

<uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/scena_logo" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.exploreca.tourfinder.Splash" 
      android:label="@string/app_name" >    
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter>    
     </activity>  
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" >    
      <intent-filter> 
       <action android:name="com.exploreca.tourfinder.MainActivity" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter>    
     </activity> 
     <activity 
      android:name=".SettingsActivity" 
      android:parentActivityName="com.exploreca.tourfinder.MainActivity">    
     </activity> 
     <activity 
      android:name=".TourDetailActivity" 
      android:parentActivityName="com.exploreca.tourfinder.MainActivity">    
     </activity> 
     <activity 
      android:name=".NotificationDetails" 
      android:label="@string/title_activity_notifDetails_title" 
      android:parentActivityName="com.exploreca.tourfinder.MainActivity">    
     </activity> 
     <activity 
      android:name=".SavedEvents" 
      android:label="@string/title_activity_SavedEvents" 
      android:parentActivityName="com.exploreca.tourfinder.MainActivity">    
     </activity>  
     <activity 
      android:name=".FollowList" 
      android:label="@string/title_activity_Urmarite" 
      android:parentActivityName="com.exploreca.tourfinder.MainActivity">    
     </activity>  


... 
+0

你想在用戶啓動/回到你的應用程序時始終顯示啓動畫面? – eleven

+0

'如果我用主頁按鈕退出,不,你不退出。你把你的應用程序放在後臺。 –

+0

扯掉自己的用戶是相當錯誤的策略。您只能在應用程序啓動時顯示啓動畫面。如名稱所示,恢復應用程序應在用戶離開它的地方恢復。 –

回答

-1

當您單擊後退按鈕實際上是活動越來越成品,當你回來的閃屏顯示。這是因爲再次開始應用。

當您單擊主頁按鈕時,活動未完成,但會轉到背景,並且當您一次打開該應用程序時,同樣的活動將被購買到前臺。所以不顯示啓動畫面。

它在應用程序的生命週期中如何工作。

嘗試在活動的暫停中調用finish();方法。所以它會一直完成。或者嘗試將noHistory添加到清單中的活動。希望這會幫助你。

+0

感謝您的建議! –

+1

它不是一個正確的掃管笏管理一個應用程序,我猜那是你有一個-1,所以當你這樣做時,請注意它不是一個正確的方法來解決這個問題,即使這sactisfies你的要求,應用程序不再一次啓動。 –

2

嘗試THI秒。

改變這個..

Intent mainActivity = new Intent("com.exploreca.tourfinder.MainActivity"); 
startActivity(mainActivity); 

+1

hi @Hariharan - 我已經添加了,但沒有區別。 :( –

相關問題