我想为我的应用程序创建一个 facebook 登录按钮。
我的问题是,我想用 OnClickListener 调用“授权”,但 Eclipse 将“授权” 部分标记为错误。它建议将其替换为 authorizeCallback,但这不是解决方案。
似乎我只是错过了什么,但不知道是什么。有什么想法吗?
这是错误发生的地方(facebook.authorize):
LoginButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
facebook.authorize(this, new String[] { "email", "user_birthday" }, new FacebookLoginDialogListener());
}});
}
其余代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
public class FacebookLoginDialogListener implements DialogListener
{
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
requestUserData();
}
public void onFacebookError(FacebookError error) {}
public void onError(DialogError e) {}
public void onCancel() {}
}
最佳答案
这样做:
facebook.authorize(YourActivity.this, new String[] { "email", "user_birthday" }, new FacebookLoginDialogListener());
您正在将 OnClickListener
的 this
引用传递给该方法,您必须将 Activity 的
Context
传递给方法。
关于使用 OnClickListener 登录 Android facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349162/