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