Android基於XMPP Smack openfire 開發的聊天室(七) 【成員狀態、自身狀態】
1,聊天是成員的監聽,加到MUC裡邊就行
- /**
- * 聊天室成員的監聽器
- *
- * @author 廖乃波
- *
- */
- class MyParticipantStatusListener implements ParticipantStatusListener {
- @Override
- public void adminGranted(String arg0) {
- Log.i(TAG, "授予管理員許可權" + arg0);
- }
- @Override
- public void adminRevoked(String arg0) {
- Log.i(TAG, "移除管理員許可權" + arg0);
- }
- @Override
- public void banned(String arg0, String arg1, String arg2) {
- Log.i(TAG, "禁止加入房間(拉黑,不知道怎麼理解,呵呵)" + arg0);
- }
- @Override
- public void joined(String arg0) {
- Log.i(TAG, "執行了joined方法:" + arg0 + "加入了房間");
- // 更新成員
- getAllMember();
- android.os.Message msg = new android.os.Message();
- msg.what = MEMBER;
- handler.sendMessage(msg);
- }
- @Override
- public void kicked(String arg0, String arg1, String arg2) {
- Log.i(TAG, "踢人" + arg0 + "被踢出房間");
- }
- @Override
- public void left(String arg0) {
- String lefter = arg0.substring(arg0.indexOf("/") + 1);
- Log.i(TAG, "執行了left方法:" + lefter + "離開的房間");
- // 更新成員
- getAllMember();
- android.os.Message msg = new android.os.Message();
- msg.what = MEMBER;
- handler.sendMessage(msg);
- }
- @Override
- public void membershipGranted(String arg0) {
- Log.i(TAG, "授予成員許可權" + arg0);
- }
- @Override
- public void membershipRevoked(String arg0) {
- Log.i(TAG, "成員許可權被移除" + arg0);
- }
- @Override
- public void moderatorGranted(String arg0) {
- Log.i(TAG, "授予主持人許可權" + arg0);
- }
- @Override
- public void moderatorRevoked(String arg0) {
- Log.i(TAG, "移除主持人許可權" + arg0);
- }
- @Override
- public void nicknameChanged(String arg0, String arg1) {
- Log.i(TAG, "暱稱改變了" + arg0);
- }
- @Override
- public void ownershipGranted(String arg0) {
- Log.i(TAG, "授予所有者許可權" + arg0);
- }
- @Override
- public void ownershipRevoked(String arg0) {
- Log.i(TAG, "移除所有者許可權" + arg0);
- }
- @Override
- public void voiceGranted(String arg0) {
- Log.i(TAG, "給" + arg0+"授權發言");
- }
- @Override
- public void voiceRevoked(String arg0) {
- Log.i(TAG, "禁止" + arg0+"發言");
- }
- }
2,自身狀態監聽
- class MyUserStatusListener implements UserStatusListener {
- /*這裡實現預設方法即可*/
- }
》》》》》》》》》》》 原始碼 《《《《《《《《《《《《《
都一樣,看不懂可以有道翻譯,累了,睡覺先。
相關文章
- Oracle DG 管理Broker配置成員的狀態Oracle
- 基於 Riverpod 的 Flutter 狀態管理Flutter
- Flutter(七)之有狀態的StatefulWidgetFlutter
- Android 狀態列透明Android
- xu七種人生最好的狀態
- 關於 Android 狀態列的適配總結Android
- 基於websocket的celery任務狀態監控Web
- 基於 swoole 的 websocket 服務一:狀態同步Web
- Android獲取狀態列高度Android
- react-native android狀態列ReactAndroid
- Android全屏與透明狀態列Android
- 讓 Promise 的狀態變成可控的Promise
- Android 沉浸式狀態列的實現Android
- 前端狀態管理與有限狀態機前端
- 基於 swoole 的 websocket 服務實現狀態同步Web
- 直播app開發,推出語音聊天室時保持懸浮窗存在狀態APP
- Web3開發中的狀態同步Web
- 直播app原始碼,狀態列和導航欄設定成透明狀態APP原始碼
- Android開發之監聽軟鍵盤狀態(彈出收回)Android
- [Android] 狀態機 StateMachine 原始碼剖析AndroidMac原始碼
- Android 隱藏系統狀態列Android
- React 狀態管理:狀態與生命週期React
- 前端開發:HTTP狀態碼詳解前端HTTP
- 基於XMPP協議開發Android即時通訊軟體協議Android
- Android-沉浸式狀態列的實現Android
- 狀態機
- 狀態列
- 狀態碼
- 狀態管理
- Campaign Stars:2020年基於賬戶的營銷狀態AI
- Flutter狀態管理Provider(三)基於Provider的程式碼框架FlutterIDE框架
- ABMLA:2023年全球基於賬戶營銷的狀態
- 基於有窮狀態機思想的電梯系統
- Android開發筆記——透明狀態列與透明虛擬按鍵Android筆記
- 淺談前端的狀態管理,以及anguar的狀態管理庫前端
- android判斷狀態列是否可見Android
- Android 頁面多狀態佈局管理Android
- [Android Framework]獲取U盤 SD 狀態AndroidFramework
- ⚠️Flutter的 狀態管理⚠️Flutter