2011-02-14 92 views
0

Android應用程序有沒有辦法檢測它是如何啓動的?無論是通過BOOT還是通過用戶從應用程序列表中啓動應用程序?Android可以應用程序檢測它是如何啓動的?

當我的應用程序在啓動時啓動時,我不希望任何活動顯示。當用戶專門從應用程序列表中啓動它時,只有這樣才能顯示主要活動。如果我可以檢測到啓動是用戶啓動還是系統啓動啓動,我可能可以控制這一點。

+1

聽起來好像你可能想要兩個單獨的活動,一個是在啓動時啓動的,另一個是顯式啓動的。其實,啓動時啓動的那個應該是一個Service。 – MatrixFrog 2011-02-14 04:21:08

+0

我認爲這很接近,但現在的問題是要真正瞭解MAIN操作被調用的所有情況。那麼,除非在發佈之前的其他時間android調用main,否則你的說法會起作用嗎? – Androider 2011-02-15 07:33:55

回答

0

您正在尋找的是啓動應用程序的Intent。在Android項目的清單文件中,您可以指定哪個Intents將啓動哪些活動。對於意圖文檔頁面實際上有如何使用此功能的真正徹底的解釋,用示例代碼和一切:

http://developer.android.com/reference/android/content/Intent.html

將被調用的意圖,當用戶選擇從啓動您的應用程序的外觀像:

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

如果你想有一個不同的活動推出的時候,手機的靴子(有一個意圖過濾值「android.intent.action.BOOT_COMPLETED」),你只需要添加一個不同的IntentFilter的Activity的標籤在表現。

相關問題