java - android 中 facebook API 的位置值为 null

标签 java android facebook api location

我正在尝试制作一个简单的应用程序,其中我唯一想要检索的是我当前位置的坐标,使用 Facebook 用户的数据。 我正在按照本指南开始使用此操作: https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/

唯一的区别是我替换的位置

user.getName();

user.getLocation().getLatitude(); //it's always null and so throws exception.

然后我尝试了其他方法,例如 getCountry() 或 getState();该值始终为空。

有人知道如何解决这个问题并使用这些方法获取位置值吗?谢谢。

这是我的代码部分:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // start Facebook Login
    Session.openActiveSession(this, true, 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.executeMeRequestAsync(session, new Request.GraphUserCallback() {

       // callback after Graph API response with user object

       @Override
       public void onCompleted(GraphUser user, Response response) {
        if (user != null) {
         TextView txt = (TextView) findViewById(R.id.text);
         txt.setText("Latitude is: " + user.getLocation().getLatitude());
        }
       }
      });

     }
   }
 });
}

编辑:在facebook sdk附带的hackbook项目示例中,我看到可以通过位置ID获取坐标(纬度和经度),有人知道怎么做吗?

最佳答案

您必须使用getProperty方法 - 检索城市和国家/地区的示例是 -

user.getLocation().getProperty("name");

检查link , 它说 - GraphUser 提供由 Graph API 定义的强类型用户表示。请注意,此接口(interface)旨在与 GraphObject.Factory 一起使用,而不是直接实现

这个link有一些例子,这会让事情变得更清楚。

我从这里引用这一点 - 此响应中的一些数据可以作为 GraphUser 接口(interface)属性的强类型属性进行访问 - 例如:name 和 <强>生日可以使用 getProperty() 方法并选择所需的键来访问其他属性 - 例如:区域设置语言。此步骤向您展示如何访问用户的姓名、生日、语言、位置和区域设置。

关于java - android 中 facebook API 的位置值为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15350913/

相关文章:

java - 使用Java在android中加载DXT纹理文件

java - 对于 JSONObject 类型,keys() 未定义

android - 在 Android 市场上发布测试版

facebook - 通过 Graph API 发布位置感知帖子

java - 使用正则表达式关闭打开的 XML 标签

java - 使用 Sinch 即时通讯系统

android - 无法使用新的 3.0 版 facebook sdk for android 登录

java - 使用 AppCompat 以编程方式更改操作栏背景和文本颜色

c++ - 如何下载 FaceBook 用户照片

安卓。 Facebook 点赞。页面喜欢权限