我有QBDialog,类型为QBDialogType.GROUP。现在我想离开QBDialog。我正在使用下面的代码,但它没有用,并且有异常"尝试调用虚方法' void com.quickblox.chat.QBGroupChat.leave()'在null对象引用"
QBRestChatService.getChatDialogById(dialogId).performAsync(
new QBEntityCallback<QBChatDialog>() {
@Override
public void onSuccess(QBChatDialog dialog, Bundle params) {
try {
dialog.leave();
dialog = null;
} catch (XMPPException | SmackException.NotConnectedException e) {
e.printStackTrace();
Log.e(TAG, "onSuccess: XMPPException=" + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "onSuccess: Groyup=" + e.getMessage());
}
}
@Override
public void onError(QBResponseException responseException) {
if (pd != null && pd.isShowing())
pd.dismiss();
Log.e(TAG, "onError: Group Leaving Failed=" + responseException.getMessage());
}
});
QBASDK: *********************************************************
*** RESPONSE *** 152689aa-b008-4ac1-9b7e-4ddd3f124c80 ***
STATUS : 200
HEADERS
X-Runtime=0.150446
Cache-Control=max-age=0, private, must-revalidate
X-Rack-Cache=miss
QuickBlox-REST-API-Version=0.1.1
X-Android-Selected-Protocol=http/1.1
X-UA-Compatible=IE=Edge,chrome=1
QB-Token-ExpirationDate=2017-01-07 07:57:15 UTC
Status=200 OK
X-Request-Id=9c2eace158b29a9e4b782cefd64d9304
X-Android-Response-Source=NETWORK 200
Connection=Close
X-Android-Sent-Millis=1483768746154
Content-Type=application/json; charset=utf-8
Date=Sat, 07 Jan 2017 05:59:00 GMT
Server=openresty/1.9.15.1
ETag="a1cfba7d8894969ce612ffa36ea52e83"
Content-Length=423
Strict-Transport-Security=max-age=15768000;
X-Android-Received-Millis=1483768746657
Access-Control-Allow-Origin=*
BODY
'{"total_entries":1,"skip":0,"limit":100,"items":[{"_id":"5870838ea28f9a9c39000020","created_at":"2017-01-07T05:58:38Z","last_message":null,"last_message_date_sent":null,"last_message_user_id":null,"name":"Drinks","occupants_ids":[22258180,22400060],"photo":"cocktail","type":2,"updated_at":"2017-01-07T05:58:38Z","user_id":22400060,"xmpp_room_jid":"51660_5870838ea28f9a9c39000020@muc.chat.quickblox.com","unread_messages_count":0}]}'
01-07 11:29:06.686 26084-26084/com.om.sigmatech.dating D/QBASDK: Can't parse LastMessageDateSent field in chat dialog
01-07 11:29:06.686 26084-26084/com.om.sigmatech.dating D/QBASDK: Can't parse lastMessageUserId field in chat dialog
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.quickblox.chat.QBGroupChat.leave()' on a null object reference
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.quickblox.chat.model.QBChatDialog.leave(SourceFile:768)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.om.sigmatech.dating.MatchNotificationActivity$5.onSuccess(MatchNotificationActivity.java:313)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.om.sigmatech.dating.MatchNotificationActivity$5.onSuccess(MatchNotificationActivity.java:306)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.quickblox.auth.session.Query.notifySuccess(SourceFile:447)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.quickblox.auth.session.Query$VersionEntityCallback.completedWithResponse(SourceFile:483)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.quickblox.auth.session.Query.completedWithResponse(SourceFile:307)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at com.quickblox.core.server.HttpRequestRunnable$1.handleMessage(SourceFile:43)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at android.os.Looper.loop(Looper.java:148)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)
01-07 11:29:06.704 26084-26084/com.om.sigmatech.dating W/System.err: at java.lang.reflect.Method.invoke(Native Method)
01-07 11:29:06.705 26084-26084/com.om.sigmatech.dating W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
01-07 11:29:06.705 26084-26084/com.om.sigmatech.dating W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-07 11:29:06.705 26084-26084/com.om.sigmatech.dating E/MatchNotification: onSuccess: Groyup=Attempt to invoke virtual method 'void com.quickblox.chat.QBGroupChat.leave()' on a null object reference