S.M*_*ian 2 android facebook facebook-graph-api
我想获取用户个人资料数据;我正在关注本教程:
http://code.tutsplus.com/tutorials/quick-tip-add-facebook-login-to-your-android-app--cms-23837
上面的教程使用这样的registerCallback方法:
private LoginButton loginButton;
.
.
.
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
}
});
Run Code Online (Sandbox Code Playgroud)
现在,如何为自定义 Button 实现此方法?
下面的链接使用 Facebook 类,但对我来说这个类未定义!
// Instance of Facebook Class
private Facebook facebook;
Run Code Online (Sandbox Code Playgroud)
http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/
您可以使用LoginManager来完成它,而无需使用 LoginButton。
首先,您必须CallbackManager像往常一样创建:
callbackManager = CallbackManager.Factory.create();
Run Code Online (Sandbox Code Playgroud)
接下来,您必须注册使用LoginManager实例创建的回调:
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
Run Code Online (Sandbox Code Playgroud)
最后,您必须使用某些权限调用 Facebook 登录,例如:
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email"));
Run Code Online (Sandbox Code Playgroud)
不要忘记覆盖onActivityResult方法并onActivityResult从以下调用方法CallbackManager:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4011 次 |
| 最近记录: |