ボタンのある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メソッドを呼び出すにはどうすればよいですか?私はどこにも解決策を見つけることができないので、誰かがこれを手伝ってください。