Facebook SSOサービスを使用してユーザーを認証したいと考えています。私はかなりの痛みはなかった公式のAndroid Facebook sdkで基本的なログインを処理することができましたが、sdkがデバイスのローテーションを処理できないようです - 少なくとも、正しく動作する方法を見つけることができませんでした。 Android Facebook sdkはデバイスのローテーションを正しく処理できませんか?
認証コード:loginButtonFacebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do FB login
facebook.authorize(LoginActivity.this, new DialogListener() {
@Override
public void onComplete(Bundle values) {
Toast.makeText(LoginActivity.this, "Facebook login successful", Toast.LENGTH_SHORT).show();
Log.d(TAG, "FACEBOOK LOGIN SUCCESSFUL");
//loginFB(facebook.getAccessToken());
}
@Override
public void onFacebookError(FacebookError error) {
Toast.makeText(LoginActivity.this, "FacebookError:" +error.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onError(DialogError e) {
Toast.makeText(LoginActivity.this, "Error: "+e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
Toast.makeText(LoginActivity.this, "Cancelled!", Toast.LENGTH_SHORT).show();
}
});
}
});
My活動もFBのログイン活動からの結果を処理する必要がある
:
は@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
これは動作しますが、facebook.authorize(...)メソッド現在のアクティビティの参照が必要なので、後でコールバックを行うことができます。しかし、ユーザーがFacebookの承認アクティビティに入っているときにデバイスを回転させると、前のアクティビティが破棄されます。だから、ユーザーが私のアプリを承認した後、私はこれについてのコールバックを取得しません。
誰にでもこの解決策が見つかりましたか?あなたの活動中にあなたの活動の名の下に、あなたのマニフェストファイル内
おかげ
はそれを使用しないでください.com/a/7990543/1118475 –