我有以下代码.这是对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);
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题是每当我点击loginButton时,会出现一个对话框,并在短时间内消失,然后logcat打印出"CANCEL"文本.我似乎无法修复此错误,并且我没有单击取消,因为该对话框只显示并立即消失.
请帮我解决这个问题?