我正在尝试制作一个简单的应用程序,我唯一想要检索的是我当前位置的坐标,使用 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 获取坐标(纬度和经度),有人知道吗?