我想用这个简单的应用程序显示我的Facebook名称,该应用程序会在单击并单击调用后登录login()
。
会话已正确打开,但是Request.GraphUserCallback似乎无法返回空值。
当我启动我的应用程序时,LogCat不会显示任何错误,但是user.name()
当Graph API返回用户时,在onCompleted上显示的Toast上看不到我的消息。
这是我的代码,没有导入,也没有布局:
public class MainActivity extends Activity {
private Session.StatusCallback statusCallback;
private Request.GraphUserCallback requestGraphUserCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(getApplicationContext(), "Ci siamo", Toast.LENGTH_SHORT).show();
statusCallback= new SessionStatusCallback();
requestGraphUserCallback = new RequestGraphUserCallback();
}
public void login(View view){
Toast.makeText(getApplicationContext(), "Login", Toast.LENGTH_SHORT).show();
// start Facebook Login
Session.openActiveSession(this, true, statusCallback);
Toast.makeText(getApplicationContext(), "finito login", Toast.LENGTH_SHORT).show();
}
//CLASSE SESSIONE
private class SessionStatusCallback implements Session.StatusCallback {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.newMeRequest(session, requestGraphUserCallback);
}
}
}
//CLASSE GRAPH
private class RequestGraphUserCallback implements Request.GraphUserCallback{
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Toast.makeText(getApplicationContext(), user.getName(), Toast.LENGTH_SHORT).show();
}
}
}
}
您没有执行请求。在创建请求后,您应该在SessionStatusCallback中调用该executeAsync()
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句