此行爲通常可通過Intent標誌進行控制,例如,例如:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
應該按預期行事。
看來在這種情況下,這不是系統/意圖行爲,它可能是特定於您正在使用的消息傳遞應用程序。
當在OnePlus one/Android M上進行測試時,如果我將Messaging
應用用作默認的短信應用,或者使用Google Play的Google Messages
應用,則會得到兩種不同的情況。
看起來有點進入第一場景後退按鈕返回到外部的短信應用的主要活動,我看到LogCat
下面幾行:
ActivityManager: START u0 {act=android.intent.action.SENDTO dat=sms:xxx-xxx-xxxx flg=0x10808000 cmp=com.android.messaging/.ui.conversation.LaunchConversationActivity
ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x1000c000 cmp=com.android.messaging/.ui.conversationlist.ConversationListActivity}
ActivityManager: START u0 {flg=0x14000000 cmp=com.android.messaging/.ui.conversation.ConversationActivity
ActivityManager: Displayed com.android.messaging/.ui.conversation.ConversationActivity
這意味着,在上市活動SENDTO
的操作是LaunchConversationActivity
,它自己調用startActivity
到ConversationListActivity
,然後在相同的任務ConversationActivity
中打開,所以後退按鈕返回到SMS主Activity,而不是您的。