我正在使用适用于Android的Facebook SDK 3.0(最终版).当我尝试在登录的用户供稿上发布新状态时,有时(并非总是)在.getInnerjsonObject()处收到NullPointerException.以下是我在新的Request.Callback(){}中使用的代码:
public voID onCompleted(Response response) { JsONObject graphResponse = response .getGraphObject() .getInnerjsonObject(); String postID = null; try { postID = graphResponse.getString("ID"); } catch (JsONException e) { Log.d("", "JsON error "+ e.getMessage()); } FacebookRequestError error = response.getError(); if (error != null) { Toast.makeText(SessionLoginSampleActivity.this, error.getErrorMessage(), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(SessionLoginSampleActivity.this, "Post successful " + postID, Toast.LENGTH_LONG).show(); } }
解决方法:
如果请求中有错误,则response.getGraphObject()返回null.
使用Response的代码应始终检查在访问getGraphObject()之前response.getError()返回null.
Response有三种构造函数:一种采用GraphObject,一种采用GraphObjectList,另一种采用FacebookRequestError,并且所有字段都是最终的.因此,其中只有一个在任何Response对象上都不能为空.
总结以上是内存溢出为你收集整理的Facebook android SDK 3.0-.getInnerJSONObject()处的NullPointerException全部内容,希望文章能够帮你解决Facebook android SDK 3.0-.getInnerJSONObject()处的NullPointerException所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)