Android Quickblox管理会话和召回?
我正在使用QuickBlox库进行视频聊天。如何管理it会话??因为当我从live chat活动转到下一个活动时,我刚刚丢失了会话,因为它说“chat can not initialized”,然后我必须再次创建会话来进行调用。那么quickblox会话的生命周期是什么,我如何管理它呢 我还面临着在停止通话或转到下一个活动时回忆的问题,并试图回忆我无法做到这一点,实际上我尝试了不同的事情,因此每次我都会遇到不同的错误。因此,如果任何人有使用QuickBlox库的经验,请在此处寻求帮助 当我停止一个调用时,我调用这个函数Android Quickblox管理会话和召回?,android,quickblox,Android,Quickblox,我正在使用QuickBlox库进行视频聊天。如何管理it会话??因为当我从live chat活动转到下一个活动时,我刚刚丢失了会话,因为它说“chat can not initialized”,然后我必须再次创建会话来进行调用。那么quickblox会话的生命周期是什么,我如何管理它呢 我还面临着在停止通话或转到下一个活动时回忆的问题,并试图回忆我无法做到这一点,实际上我尝试了不同的事情,因此每次我都会遇到不同的错误。因此,如果任何人有使用QuickBlox库的经验,请在此处寻求帮助 当我停止一
private void stopCall() {
//Toggle view show the smile view again
//ToggleSmileView();
try
{
cancelCallTimer();
if (videoChat != null) {
videoChat.stopCall();
videoChat = null;
}
if (videoChannel != null) {
videoChannel.close();
videoChannel = null;
}
sessionId = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
当我调用时,我调用这个函数
private void call() {
//toggle view
//ToggleSmileView();
// get opponent
//
VideoChatApplication app = (VideoChatApplication)getApplication();
opponent = new QBUser();
opponent.setId((app.getCurrentUser().getId() == VideoChatApplication.FIRST_USER_ID ? VideoChatApplication.SECOND_USER_ID : VideoChatApplication.FIRST_USER_ID));
// call
//
callTimer = new Timer();
callTimer.schedule(new CancelCallTimerTask(), 30 * 1000);
createSenderChannel();
initVideoChat();
if (videoChat != null)
{
videoChat.call(opponent, getCallType(), 3000);
//toggleMicrophoneMute();
}
else
{
logAndToast("Stop current chat before call");
}
}
对于:quickblox会话的生存期以及我如何管理它。
要对应用程序进行身份验证,必须设置有效的身份验证密钥和
使用应用程序auth_secret生成签名并接收
应使用会话令牌向QuickBlox API发送请求
以及
令牌的过期时间为2小时。请注意这一点。如果
您将使用过期的令牌执行查询-您将收到错误消息
所需的会话不存在
资料来源:
这部分符合创建会话的Android示例代码
QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
@Override
public void onSuccess(QBSession session, Bundle params) {
Log.i(TAG, "session created, token = " + session.getToken());
}
@Override
public void onError(List<String> errors) {
}
});
QBAuth.createSession(新的QBEntityCallbackImpl(){
@凌驾
成功时公共无效(QBSession会话,Bundle参数){
Log.i(标记,“会话已创建,令牌=“+session.getToken());
}
@凌驾
公共无效onError(列表错误){
}
});
资料来源:
我曾经使用过Android SDK,但觉得它仍然需要一些工作,特别是要达到与iOS SDK和REST API相当的阶段
虽然查看代码,但在创建新的QBUser
和相关视频聊天呼叫之前,您应该使用getToken()
,如果令牌已过期,只需创建一个新的令牌即可。我已经实现了类似的代码,不是视频聊天应用程序,而是在会话创建的
onSuccess()
中编写函数(如果需要重新创建会话)
仅供参考,对于多个,您可以尝试使用已给出的摘要检查错误,分为4类 如果您使用的是Android SDK或REST API(?)我使用的是Android SDKC,您可以用代码解释一下,第二段不清楚的是使用Quickblox的聊天应用程序示例。这会很有帮助的,请查看编辑很好,这很有帮助,但这是我问题的一半答案?当参与者停止呼叫并尝试再次呼叫时,其他参与者不接受呼叫请更清楚地解释第二段,我不明白你的意思请检查此项,请解释如何使用令牌继续会话?我使用的是android sdk,像http:api.quickbloz.session.json这样的api不是直接公开的,因此我不能用每个rest api发送令牌,因为它的quickblox jar点击了这个,并且没有directky公开。我尝试使用
createSessionWithExistanceToken
创建会话,但我创建了会话,但呼叫无法接收。请详细解释这个答案