我有以下代码。它是对Facebook Android API 中LoginButton 回调函数的简单测试。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton)findViewById(R.id.login_button);
loginButton.setReadPermissions("user_friends");
loginButton.setReadPermissions("email");
loginButton.setReadPermissions("public_profile");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.e("SUCCESS", "LOGIN SUCCESSFUL");
}
@Override
public void onCancel() {
Log.e("CANCEL", "Cancelled");
}
@Override
public void onError(FacebookException e) {
Log.e("ERROR", "Facebook Exception");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
唯一的问题是,每当我单击登录按钮时,都会出现一个对话框并短暂消失,然后 logcat 打印出“CANCEL”文本。我似乎无法修复此错误,并且我没有单击取消,因为该对话框只是显示并立即消失。
请帮我解决这个问题?
最佳答案
由于 Facebook 现在需要审查使用发布权限的应用程序,您需要登录 Facebook 开发者控制台,在应用程序部分选择您的应用程序,单击角色并添加测试员(或管理员)角色。 在此之后,您应该能够获得适当的访问 token 。
关于Android Facebook LoginButton 回调跳转到取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712111/