2014-04-20 96 views
0

我正在嘗試製作一個簡單的應用程序,其中當用戶登錄Facebook時,用戶的姓名顯示在文本視圖中。問題是textview不會改變。我認爲回調函數存在一些問題。這是MainActivity的代碼。問候facebook安卓通話功能在Facebook登錄後不起作用

 package com.example.firstfacebook; 
     import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.TextView; 

import com.facebook.Request; 
import com.facebook.Response; 
import com.facebook.Session; 
import com.facebook.SessionState; 
import com.facebook.model.GraphUser; 

public class MainActivity extends Activity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // TextView welcome = (TextView) findViewById(R.id.welcome); 
     //welcome.setText("Hello!"); 
     // 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.newMeRequest(session, new Request.GraphUserCallback() { 

       // callback after Graph API response with user object 
       @Override 
       public void onCompleted(GraphUser user, Response response) { 
        if (user != null) { 
        TextView welcome = (TextView) findViewById(R.id.welcome); 
        welcome.setText("Hello " + user.getName() + "!"); 
        } 
       } 
       }); 
      } 
      } 
     }); 
     } 
     /*public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
      getMenuInflater().inflate(R.menu.main, menu); 
      return true; 
     }*/ 

     @Override 
     public void onActivityResult(int requestCode, int resultCode, Intent data) { 
      super.onActivityResult(requestCode, resultCode, data); 
      Session.getActiveSession().onActivityResult(this, requestCode, 
        resultCode, data); 
     } 

    } 

回答

2

我使用的Android simple Facebook library項目的登錄名和posting.You不必外部調用任何回調方法。這個庫負責處理所有的回調。您可能對使用此庫製作的這個sample項目感興趣。只要看看它。

我希望這會對你充分使用。

相關問題