本文档主要介绍如何主动退出当前 TRTC 房间,同时还会介绍在什么情况下会被迫退出房间:
请参考文档 导入 SDK 到项目中 完成 SDK 的导入和 App 权限的配置。
请参考文档 进入房间 完成进房流程。
调用 exitRoom 接口即可退出当前的房间,SDK 会在退房结束后通过 onExitRoom(int reason) 回调事件通知您。
// 退出当前房间
mCloud.exitRoom();
当您调用了 exitRoom 接口之后,SDK 会进入退房流程,其中有两项非常重要的任务:
因此,如果您希望释放 TRTCCloud 实例,建议等收到 onExitRoom 回调之后再释放。
除了用户主动退出房间,还有两种情况下您也会收到 onExitRoom(int reason) 回调:
情况一:被踢出当前房间
您可以通过服务端的 RemoveUser | RemoveUserByStrRoomId 接口将某个用户踢出某个 TRTC 房间,将该用户踢出后,该用户会收到 onExitRoom(1) 的回调。
情况二:当前房间被解散
您可以通过服务端的 DismissRoom | DismissRoomByStrRoomId接口将某个 TRTC 房间解散,解散房间之后,该房间的所有用户都会收到 onExitRoom(2) 的回调。
// 监听 onExitRoom 回调即可获知自己的退房原因
@Override
public void onExitRoom(int reason) {
if (reason == 0) {
Log.d(TAG, "Exit current room by calling the 'exitRoom' api of sdk ...");
} else if (reason == 1) {
Log.d(TAG, "Kicked out of the current room by server through the restful api...");
} else if (reason == 2) {
Log.d(TAG, "Current room is dissolved by server through the restful api...");
}
}
本页内容是否解决了您的问题?