Java Facebook登录按钮不运行回调

Java Facebook登录按钮不运行回调,java,android,facebook,Java,Android,Facebook,我创建了一个简单的facebook登录 它可以正确显示登录弹出窗口,并要求我授予我的应用程序权限 但当我登录facebook时,它不会运行任何回调 没有成功,没有取消,甚至没有错误 为什么登录按钮不起作用 CallbackManager callbackManager; private AccessToken accessToken; @Override protected void onCreate(Bundle savedInstanceState) { FacebookSdk.sd

我创建了一个简单的facebook登录

它可以正确显示登录弹出窗口,并要求我授予我的应用程序权限

但当我登录facebook时,它不会运行任何回调

没有成功,没有取消,甚至没有错误

为什么登录按钮不起作用

CallbackManager callbackManager;
private AccessToken accessToken;
@Override
protected void onCreate(Bundle savedInstanceState) {
    FacebookSdk.sdkInitialize(getApplicationContext());
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_facebook);

    callbackManager = CallbackManager.Factory.create();

    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {

        @Override
        public void onSuccess(LoginResult loginResult) {

            accessToken = loginResult.getAccessToken();

            Log.v("FB", "access token got.");

            GraphRequest request = GraphRequest.newMeRequest(
                    accessToken,
                    new GraphRequest.GraphJSONObjectCallback() {

                        @Override
                        public void onCompleted(JSONObject object, GraphResponse response) {

                            Log.v("FB", "complete");
                            Log.v("FB", object.optString("name"));
                            Log.v("FB", object.optString("link"));
                            Log.v("FB", object.optString("id"));

                        }
                    });

            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,link");
            request.setParameters(parameters);
            request.executeAsync();
        }

        @Override
        public void onCancel() {
            Log.v("FB", "CANCEL");
        }

        @Override
        public void onError(FacebookException exception) {
            Log.v("FB", exception.toString());
        }
    });
}
CallbackManager CallbackManager;
专用AccessToken AccessToken;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
sdkinInitialize(getApplicationContext());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_facebook);
callbackManager=callbackManager.Factory.create();
LoginButton LoginButton=(LoginButton)findViewById(R.id.login_按钮);
registerCallback(callbackManager,newfacebookcallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
accessToken=loginResult.getAccessToken();
Log.v(“FB”,“获取访问令牌”);
GraphRequest请求=GraphRequest.newmereRequest(
accessToken,
新建GraphRequest.GraphJSONObjectCallback(){
@凌驾
未完成公共无效(JSONObject对象,GraphResponse响应){
日志v(“FB”,“完成”);
Log.v(“FB”,object.optString(“name”);
Log.v(“FB”,object.optString(“link”);
Log.v(“FB”,object.optString(“id”);
}
});
Bundle参数=新Bundle();
parameters.putString(“字段”、“id、名称、链接”);
请求。设置参数(参数);
request.executeAsync();
}
@凌驾
公开作废{
日志v(“FB”、“取消”);
}
@凌驾
public void onError(facebook异常){
Log.v(“FB”,exception.toString());
}
});
}

遵循这个例子,link实际上指的是SDK的v3,而SDK的v4.x做了重大更改。您是否覆盖了活动或片段的onActivityResult方法?检查这里。也许你可以得到解决方案。是的,就是这样,这个程序在ActivityResult上丢失了,现在程序正在工作