我有兩個應用程序App-1 & App-2。 App-2有一個啓動App-1的按鈕。Android可以避免onCreate()被調用嗎?
需要的是爲具有如同以下內容: -
- 用戶啓動的App-1(使用發射器)&活動A,B & C被啓動&活性C在活動堆棧的頂部。
- 請注意,App-1的入口點是活動A.
- 用戶按下主頁鍵。
- 用戶然後啓動應用程序App-2。用戶選擇App-2中的按鈕啓動App-1。
在APP-2按鈕的
onClick()
具有下面的代碼: -意圖I =新意圖(); i.setAction(「com.x.y.z」); //解析爲App-1 的活動A i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); i.putExtra(「x」,「y」); startActivity(i);
步驟-4後,onCreate()
活性的被稱爲這是很正常的。但是我希望Android能夠將整個活動堆棧帶到前臺,因爲App-1正在運行。&Android並沒有殺死它(如果我在步驟2之後啓動了App-1,這種行爲也是一樣)。
我想讓活動C顯示給用戶。
如果可以做到這一點,請幫助我。
我已經嘗試將活動A作爲singleTask & singleInstance。如果我這樣做,只有活動A被帶到前臺,這不是我想要的。
的App-1的明顯的片段看起來象下面這樣: -
<activity android:name=".aa.a"
android:configChanges="orientation|keyboardHidden|locale"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.x.y.z" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
NO。你不能避免onCreate()被調用!你需要在你的活動流程中找到另一種方式。 – ankitjaininfo 2010-09-01 12:37:18
感謝Ankit的迴應。我希望你已經完全閱讀這篇文章,但我同意它需要很多耐心和時間。我認爲這不是很難做到。開發人員可能希望採取這種行爲來儘量減少要編寫的代碼數量,以模仿相同的行爲。我不確定提供這樣的選擇有什麼困難(當然有一些可以理解的限制)。 – Shivaprasad 2010-09-07 08:58:50