android facebook sdk返回电子邮件空值

android facebook sdk返回电子邮件空值,android,facebook,Android,Facebook,我的应用程序以前使用过这个代码,但它在昨天停止工作,不知道为什么。 我可以得到你的名字和照片。但是电子邮件是空的 List<String> permisions = Arrays.asList( "email"); Session.openActiveSession(getActivity(), true, permisions , new Session.StatusCallback() { // callback when

我的应用程序以前使用过这个代码,但它在昨天停止工作,不知道为什么。 我可以得到你的名字和照片。但是电子邮件是空的

 List<String> permisions = Arrays.asList(
            "email");

    Session.openActiveSession(getActivity(), true, permisions , new Session.StatusCallback() {

          // callback when session changes state
          @Override
          public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {

              // make request to the /me API
              Request.newMeRequest(session, new Request.GraphUserCallback() {

                // callback after Graph API response with user object
                @Override
                public void onCompleted(GraphUser user, Response response) {
                  if (user != null) {
                    String name = user.getFirstName();
                    String email = (String)user.getProperty("email");
                    System.out.println("Email: "+email);
                    System.out.println("Name: "+name);

                  }
                }
List permissions=Arrays.asList(
“电子邮件”);
Session.openActiveSession(getActivity(),true,permissions,new Session.StatusCallback()){
//会话更改状态时的回调
@凌驾
公共无效调用(会话、会话状态、异常){
if(session.isOpened()){
//向/me API发出请求
Request.newMeRequest(会话,new Request.GraphUserCallback(){
//带有用户对象的Graph API响应后的回调
@凌驾
未完成公共无效(GraphUser用户,响应){
如果(用户!=null){
字符串名称=user.getFirstName();
字符串email=(字符串)user.getProperty(“email”);
System.out.println(“Email:+Email”);
System.out.println(“名称:”+Name);
}
}

问题在于,用户可能在其Facebook个人资料中设置了电子邮件,但可能会将其设置为“私人”,这意味着即使用户设置了电子邮件,您也无法检索它,在这种情况下,您将获得空值。您可能希望在使用该属性之前先检查空值,否则代码流将停止,不会发生任何错误或者任何你将得到NPE的东西。检查此项:

你确定它停止工作了吗(即该用户确实有相关的电子邮件地址)?以及使用
response.getGraphObject().getProperty(“电子邮件”)得到的信息
?是的,对于其他facebook帐户,我收到了电子邮件,但无论如何,我也应该收到该帐户的电子邮件,因为我检查过它有一个。。。