我建立了一个与 facebook 连接的 android 应用程序,它有一个按钮。当我单击按钮时,该应用程序将调用 facebook.authorize 来请求许可。从请求权限屏幕返回后,它应该调用 onActivityResult 方法。但就我而言,它从不调用此方法。我发现了一些类似的问题,但所有解决方案都不能解决我的问题。这是用户单击按钮时的代码:
facebook.authorize(this, new String[] { "read_friendlists" },
new DialogListener() {
public void onComplete(Bundle values) {
Log.v("complete", "complete");
hideNeedLoginView();
}
public void onCancel() {
Log.v("cancel", "cancel");
hideNeedLoginView();
}
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Log.v("error", "error");
}
public void onError(DialogError e) {
// TODO Auto-generated method stub
Log.v("error", "error");
}
});
和 onActivityResult 方法:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
由于未调用 onActivityResult,因此也未调用所有 onComplete 或 onCancel 方法。Intent.FLAG_ACTIVITY_NO_HISTORY 没有定义,所以这不是问题(这是在 facebook 页面上提到的)。如果我将 activityCode 设置为 Facebook.FORCE_DIALOG_AUTH,那么当我单击按钮时,应用程序没有响应。我在设备上安装了 facebook 应用程序。授权后怎么调用onActivityResult方法?请有人帮我解决这个问题,因为我在任何地方都找不到任何解决方案。