簡體   English   中英

android中的facebook API,位置值為null

[英]location values are null with facebook API in android

我正在嘗試制作一個簡單的應用程序,其中我要檢索的唯一東西是使用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();。 該值始終為null。

有人知道如何解決這些問題並使用這些方法獲取位置值嗎? 謝謝。

這是我的部分代碼:

  @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");

檢查鏈接 ,上面寫着-GraphUser提供由Graph API定義的User的強類型表示形式。 請注意, 此接口旨在與GraphObject.Factory一起使用,而不是直接實現

鏈接提供了一些示例,可以使事情變得更清楚。

我舉這個從這里-一些在這個響應數據的可訪問的GraphUser接口的屬性作為強類型屬性-例如: 姓名生日 可以使用getProperty()方法並選擇所需的鍵示例( 區域設置語言 )來訪問其他屬性 此步驟說明如何訪問用戶的姓名,生日,語言,位置和區域設置。

好的,我想我終於有了答案:要從ID中獲取坐標,我使用了以下查詢:

http://graph.facebook.com/ID

然后只需解析結果以獲取坐標(如果有更簡單的方法,請對我進行修正),可以使用以下方法輕松獲取ID:

user.getLocation();

順便說一句,在我的第一次嘗試中,我仍然不知道為什么返回的值為null,也許我的解決方法的結果不如我想的那么准確,但是我意識到當有人發布某些內容時,facebook並沒有注冊如此准確的位置到他的牆上,但只是該職位所屬城市的坐標。 (再次,請糾正我,如果我錯了)。

謝謝。

getLocation()方法僅返回用戶的當前城市。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM