在實習的時候做的一個項目,當時做IM就遇到一個棘手的問題,就是不同的ID給自己發送消息且自己不在聊天界面,這個時候點擊NotificationBar的時候就應該跳轉到聊天界面,
還有一種很關鍵的場景: 自己在聊天界面,卻是不同的用戶發來的消息,點擊NotificationBar的時候就應該關閉當前加載新的,當時我採用的是比較笨的辦法通過去遍歷ActivityStack,然後判斷是否有聊天的Activity,有的話彈到StackTop上,這樣能解決,但是不是很好的做法,今天閱讀別人的源碼發現一個有意思的CallBack.
// 點擊notification bar進入聊天頁面,保證只有一個聊天頁面
String username = intent.getStringExtra("userId");
if (toChatUsername.equals(username))
super.onNewIntent(intent);
else {// 如果是當前的會話,關閉自己重新啓動Intent.
finish();
startActivity(intent);
}
記錄下來.給那些IM開發提供幫助.