2016-03-05 58 views
0

我正在使用來自的庫QuickBlox和我正在處理好友請求部分。爲了添加一個朋友,並讓他們接受我,我需要使用一種叫做QBRoster的東西。然而,問題是,當我通過QBRosterQBroster爲空,並且SubscriptionListener永遠不會被觸發

chatroster=QBChatService.getInstance() 
     .getRoster(QBRoster.SubscriptionMode.mutual, subscriptionListener); 

初始化 它,我得到一個nullpointerexception即使我得到我的應用程序的授權和我創建一個會話。 此外,即使我使用subscriptionListener,似乎我從來沒有進入實施的方法,即。 聽衆永遠不會被解僱。 任何人都可以幫忙嗎?

+0

你是怎麼解決的? –

回答

0

你是否在清單中聲明瞭QbService?

這樣的:

<service 
      android:name="com.quickblox.q_municate_core.service.QBService" 
      android:icon="@mipmap/ic_launcher" /> 


     <receiver 
      android:name="buddy_connect_design.connection_request.GcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

       <category android:name="com.buddy_connect.apurvak.buddyconnectdemo" /> 
      </intent-filter> 
     </receiver> 

也可以嘗試使用此呼籲:

private class SubscriptionListener implements QBSubscriptionListener 
    { 

     @Override 
     public void subscriptionRequested(int userId) 
     { 
      try 
      { 
       Log.e("SubscriptionRequested","Sucess! "+userId); 
      } catch (Exception e) 
      { 

       Log.e("SubscriptionRequested",e.toString()); 
       e.printStackTrace(); 
      } 
     } 
    } 

並初始化這樣

chatRoster = QBChatService.getInstance().getRoster(QBRoster.SubscriptionMode.manual, new SubscriptionListener()); 
相關問題