我正在使用Smack XMPP客戶端進行Android開發即時通訊。 我想要這樣做 當用戶登錄我想附加PackerListener與Background Service中的XMPPConnection引用對象。 xmppCon.addPacketListener(......)。這個數據包偵聽器用來偵聽傳入請求(可以是聊天消息,訂閱請求,羣聊請求等)。現在得到這個數據包請求後,我確定了它是聊天消息,訂閱請求等等的請求類型。所以如果是一個聊天消息和我的聊天屏幕打開我想發送/更新該屏幕,如果它是訂閱請求我想根據請求更新我的待定UI活動屏幕等等我想從服務更新特定的用戶界面。 問題是我如何從服務更新Activity(活動活動)? 任何人都可以指導我如何做到這一點,或者可以給我更好的建議嗎? 我將非常感謝...使用XMPP數據包監聽器實現Android後臺服務
1
A
回答
-1
驅動您的XMPP連接的服務可能會在狀態發生變化時廣播Intent。您的UI活動(甚至是小工具)可以註冊這些意圖並相應地更新其顯示。
0
,您可以撥打服務類,之後在其上的Start方法,你可以添加以下代碼: -
RosterListener r1 = new RosterListener() {
@Override
public void presenceChanged(Presence presence) {
// TODO Auto-generated method stub
//sending the broadcast to update the expandable list view
//to check if any person's presence has changed.
sendBroadcast(new Intent(UserMenuActivity.ACTION_UPDATE));
notification("changed");
}
@Override
public void entriesUpdated(Collection<String> arg0) {
// TODO Auto-generated method stub
//notification("entriesUpdated");
}
@Override
public void entriesDeleted(Collection<String> arg0) {
// TODO Auto-generated method stub
//notification("entriesDeleted");
}
@Override
public void entriesAdded(Collection<String> arg0) {
// TODO Auto-generated method stub
Iterator<String> it = arg0.iterator();
if (it.hasNext()) {
user = it.next();
}
/*RosterEntry entry = roster.getEntry(user);
if(entry.getType().toString().equalsIgnoreCase("to")){
int index_of_Alpha = user.indexOf("@");
String subID = user.substring(0, index_of_Alpha);
notification("Hi,"+subID+" wants to add you");
} */
}
};
if (roster != null) {
roster.setSubscriptionMode(Roster.SubscriptionMode.manual);
System.out.println("subscription going on");
roster.addRosterListener(r1);
}
} else {
showToast("Connection lost-", 0);
}
這是你如何能做到你所要求的一樣。請隨時問我有關相同的任何疑問。
相關問題
- 1. Android Button監聽器實現
- 2. 爲後臺活動實現監聽器android
- 3. 在android的後臺服務中運行監聽器
- 4. 如何將xmpp監聽器添加到android中的服務?
- 5. 實現數據庫監聽器
- 6. 如何在使用服務的後臺運行GPS監聽器 - Android
- 7. Android數據使用監聽器
- 8. 在android中收聽XMPP數據包
- 9. Android服務器請求監聽器
- 10. 如何實現PhoneGap Android後臺服務
- 11. 在Android上實現後臺服務
- 12. 如何在xmpp asmack中實現消息監聽器?
- 13. 連續監聽來自服務器的UDP數據包
- 14. Android Intent服務的位置監聽器
- 15. XMPP服務器(Openfire)需要實現嗎?
- 16. 如何實現監聽器?
- 17. 實現JNI監聽器
- 18. OnTap監聽器實現
- 19. WCF服務監聽器
- 20. 如何使用openfire實現第三方GCM - CCS XMPP服務器?
- 21. 用Java Applet實現鍵盤監聽器
- 22. 後臺服務與數據供以後使用最佳實踐
- 23. Android XMPP - 服務器端
- 24. 服務器爲Android的後臺服務?
- 25. Smack(XMPP)聊天應用程序的Android後臺服務
- 26. Android監聽器中斷監聽器
- 27. 針對Python跨平臺監聽器服務器的建議
- 28. 在FragmentActivity中使用事件監聽器在android應用程序類中實現監聽器
- 29. 從服務器內部的監聽器接收數據
- 30. 從服務器下載數據時加載/監聽器屏幕
嗨,如果我寫聊天管理器監聽器來監聽這樣的服務中的傳入消息。對於第一個消息,只有在此之後它才被觸發。請給我一些建議,每次聽到xmpp事件。 @長途去往.. – Roster