0

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

我相信这在 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

4

1 回答 1

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();
}
于 2013-04-23T11:26:19.913 回答