2012-12-17 96 views
1

我遇到的問題與我的應用程序,我需要呼籲splashActivity即每當用戶通過按設備中最近的應用程序按鈕時啓動一個應用程序,當用戶通過點擊退出應用程序back/home按鈕。 有什麼我可以做的事情work.I嘗試使用標誌android:clearTaskOnLaunch="true"但這是行不通的。每次啓動主要活動

在此先感謝

+3

沒有。 splashscreens是邪惡的,違背正確的應用程序流程。 – njzk2

+0

@njzk但我真的很想要這個流程,因爲從splashscreen我必須調用適當的活動。 – anshul

+1

你應該看看你的[Activity LifeCycle](http://stackoverflow.com/a/8516056/1134705)。 – jnthnjns

回答

0

有趣 當你殺死進程,您的應用程序可見(你看到的網頁,而不是按家庭按鈕)
您的應用程序重新啓動

首先你需要這個源

moveTaskToBack(true); (in you MAIN page) 
     android.os.Process.killProcess(android.os.Process.myPid()); 

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

android.os.Process.killProcess(android.os.Process.myPid()); 

走在你的主網頁

Intent i = new Intent(getApplicationContext(), [MAIN].class); 
       i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivityForResult(i, 1); 

,並在你的主類

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     moveTaskToBack(true); 
     android.os.Process.killProcess(android.os.Process.myPid()); 
    } 
+0

實際查殺過程是正確的嗎? – anshul

+1

是的,你說得對,還是如何重啓程序..?如果我明白你需要銷燬活動? –

相關問題