2013-03-13 89 views
0

我正在开发Android应用程序,我需要能够定期获取用户有多少条未读通知,并将其显示在我的应用程序中。获取Facebook通知API 3.0

我相信这在3.0 API中并不是直截了当的。

有人可以请解释一下最好的方法吗?

我使用这个代码:

Request notificationsRequest = Request.newGraphPathRequest(
     Session.getActiveSession(), "/me/notifications", 
     new Request.Callback() { 

      @Override 
      public void onCompleted(Response response) { 
       GraphObject object = response.getGraphObject(); 
       if (object != null) { 
        notifications = object.getProperty("data") 
          .toString(); 
       } else { 
        notifications = "Notifications returns null"; 
       } 
      } 
     }); 

但它返回null

回答

1

您必须包含“include_read”和“true”。 你可以这样做:

if (object != null) { 

    try { 

    JSONObject jsonObject = object.getInnerJSONObject().getJSONObject("summary"); 
    int notificationsUnread = jsonObject.getInt("unseen_count"); 

    Log.i("FB notificationsSummary", jsonObject + ""); 

    } catch (JSONException e) {    
     // TODO Auto-generated catch block 
     e.printStackTrace();       
    } 


    Bundle notificationParams = new Bundle(); 
    notificationParams.putString("include_read", "true"); 
    yourRequest.setParameters(notificationParams); 

    yourRequest.execute(); 
}