我正在尋找一種方法在我的Application
實施中獲得我的android應用程序的意圖。 Application
類本身沒有getIntent()
只是Activities似乎有這個能力。是否有可能獲得我的android應用程序的意圖?
原因是我有一個有幾個意圖的應用程序,可以稱爲無狀態。但我需要用戶登錄。所以我想檢查用戶是否已登錄,如果不提示登錄對話框,而不是在每個活動中都竊聽相同的代碼。
我正在尋找一種方法在我的Application
實施中獲得我的android應用程序的意圖。 Application
類本身沒有getIntent()
只是Activities似乎有這個能力。是否有可能獲得我的android應用程序的意圖?
原因是我有一個有幾個意圖的應用程序,可以稱爲無狀態。但我需要用戶登錄。所以我想檢查用戶是否已登錄,如果不提示登錄對話框,而不是在每個活動中都竊聽相同的代碼。
的方式有一些功能,在每一個Activity
就是讓他們都繼承一個共同的超類,像這樣:
class LoginActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
if (getIntent().hasExtra(...)) {
doLogin();
}
}
class MyActivity extends LoginActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// user is now logged in
setContentView(...);
}
}
的LoginActivity
只有你的其他活動繼承,所以不要在你的AndroidManifest.xml
中提及它。您無法在Application
中獲得Intent
,因爲這樣的事情沒有任何意義。只要您的進程正在運行,Application
對象就存在。在任何時候,您的活動可能會有零個,一個或多個活動,因此它會返回什麼樣的內容?
我必須承認,我對登錄時登錄時發起的Intent
有些困惑。看起來你需要一個帶有會話狀態/證書的全局對象,而不是任何與意圖有關的事情。
我喜歡繼承的想法。因此,公共基類+1中的邏輯也是如此。 – rekire 2013-04-10 09:16:06
允許所有意圖通過相同的活動 - 「選擇器」「捕獲」...在本活動的onCreate中,您將選擇/開始「真實」活動(使用相同的意圖)和完成()活動「選擇器」。 ..你也可以把特殊的Extra to Intent從「選擇器」傳遞到「真實」,這表明用戶是否登錄並且只在「選擇器」中登錄特定的東西Acticity – Selvin 2013-04-10 08:58:38