2011-12-28 39 views
0

Facebookのサインオンを使用すると非常に迷惑な問題が発生します。 エミュレータで動作しているときには問題なく動作しますが、実際のデバイスで使用しようとすると次のようになります。 数秒間、フェイスブックページの読み込みが表示されます。シングルサインオンはエミュレータでは動作しますが、デバイスでは動作しません

_facebook = new Facebook(Common.APP_ID); 
_facebook.authorize(this, new DialogListener() { 
    @Override 
    public void onComplete(Bundle values) { 
     try { 
      JSONObject json = new JSONObject(_facebook.request("me")); 
      String id = json.getString("id"); 
      String token = _facebook.getAccessToken(); 
      Log.w("facebook", id); 
      Log.w("facebook", token); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
    @Override 
    public void onFacebookError(FacebookError error) { 
     Log.w("facebook", "onFacebookError"); 
    } 
    @Override 
    public void onError(DialogError e) { 
     Log.w("facebook", "onError"); 
    } 
    @Override 
    public void onCancel() { 
     Log.w("facebook", "onCancel"); 
    } 
}); 

が、私は何が間違っていると言って何のログを取得していない、それは、onErrorのいずれかの方法で、何も停止しません。いつものように続けます。 私はオンラインで書かれたすべてのことを追ってきましたが、keytoolを使って入手したネイティブのアプリIDをアプリページに追加しましたが、まだNADAです。

どのようなヘルプ(回避策さえも)は非常に憂慮されるでしょう! ありがとう

+0

Facebook SDKの必要に応じて、アクティビティ内でonActivityResult()メソッドを実装しましたか? – harism

+0

他のfacebookアプリは既にデバイスにインストールされていますか? –

+0

それを解決した@harism!私はそれを逃したとは信じられない!私が解決策としてそれを受け入れるようにするには、コメントの代わりに答えとして投稿してください:) – Gal

答えて

1

@harismが答えとしての彼のコメントを投稿されていないので、 私は、少なくとも上の答えを持っていると考えましたこの質問。

私は、コードのこの部分を持っていた逃したことは

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    _facebook.authorizeCallback(requestCode, resultCode, data); 
} 

なぜそれはそれなしではなく、実際のデバイス上のエミュレータ上と私は全くわからないものですが、このコードを使用すると、原因ありませんSSOを使用してデバイスで作業します。

0

回避策として、facebookにFacebook.FORCE_DIALOG_AUTHを使用させることができます。私は現時点でameの問題を抱えていますが、これが唯一のものです:/

0

下記のコマンドを使ってAndroidのハッシュキーを取得し、開発者のFacebookアプリケーション設定に入れる必要があります。 facebook.com/apps

keytool -exportcert -alias androiddebugkey -keystore〜/ .android/debug.keystore | openssl sha1 - バイナリ| openssl base64で詳細情報について

は、ここでは本当に便利なブログ記事です:http://sean.lyn.ch/2011/07/android-the-facebook-sdk-sso-and-you/