8
私はアンドロイドアプリにFacebookのログインを統合しようとしています。私はインターネット上で多くの例を見つけましたが、今私は次の問題があり、解決策を見つけることができません。Android Facebook.authorizeは未完了のメソッドを呼び出さない
facebook.authorize仕上げ作業の後、oncompleteメソッドが呼び出されることはありません。 Facebook.FORCE_DIALOG_AUTHでfacebook.authorizeを使用すると、この場合、oncompleteメソッドが呼び出され、access_tokenを保存できます。 私は自分のコードを書き留めました。 誰でもこの問題の解決に手伝ってもらえますか?
if(!facebook.isSessionValid()) {
facebook.authorize(Login.this, new String[] {"publish_stream","read_stream", "offline_access"}, //Facebook.FORCE_DIALOG_AUTH,
new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError error) {Log.e("FB:","Facebook Error");}
@Override
public void onError(DialogError e) {Log.e("FB:","Error");}
@Override
public void onCancel() {}
});
}
おかげ シモ
こんにちはAlextsc、ご回答に感謝を。私が付いているコードは、ログインボタンのonclicklistenerメソッド用です。では、onActivityResultをどこに置く必要がありますか?また、なぜFacebook.FORCE_DIALOG_AUTHをすべてaspectedとして扱うのでしょうか? – Simone
'onActivityResult()'はあなたのアクティビティのメソッド*( 'onCreate()'など)も*です。上記のスニペットをアクティビティー・クラスにコピーすることができます。私はFORCE_DIALOG_AUTHが動作するのは、facebookがアンドロイドの代わりに別のメカニズムを使用してコールバックに結果を送り返したからです(これは私が信じているすべてのwebviewです)。私はfacebook android sdkがオープンソースであるので、あなたはこれに明確な答えを持ちたいと思うならば、sdkコードを読むことをお勧めします。 –
あなたの助けてくれてありがとうalextsc。私はついに私の問題を解決しました。本当にありがとう – Simone