0

Android AppにFacebookのログインをしばらく実装しました。Android Facebook Login APIは、FacebookアプリケーションがインストールされているときにonCancel()に直接アクセスします。

SDKのバージョンを最新版(4.22.0)にアップデートしたときに問題が発生しました。この時点で、Facebookログインボタンをクリックするだけで、簡単にログインしてから何もしなくなります。ログから、FacebookCallbackのonCancel()が呼び出されているのがわかりますが、それだけです。

Facebookアプリをアンインストールするとすべてうまく動作します。私はWebビューのログインを通過し、次に処理を進めることができます(onSuccess()が呼び出されます)。

以前使用していたSDKのバージョンに戻してみましたが、運はありません。私は自分のKeyHashesがFacebook Developer Dashboardにあるもの(デバッグとリリースの両方)にマッチしていることを確認しました。私のApp IDも一致します。

私はLoginManagerを使ってログアウトを強制しているので、ログインを試みる前にログアウトしていることを知っています。

非常に奇妙です。私は私のKeyHashを生成するには、次のコードを使用:

try { 
      PackageInfo info = getPackageManager().getPackageInfo(
        "***.*****.************", 
        PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
     } catch (PackageManager.NameNotFoundException e) { 

     } catch (NoSuchAlgorithmException e) { 

     } 

答えて

0

あなたが署名したAPKを作るので、署名APK KeyHashを持っている必要があり、それはAPKは、お使いのデバイスで実行され、デバッグlog.thatキーからkeyHashを締結します署名しましたあなたのFacebookの開発者用コンソールにハッシュ更新。

0

このコードをfackbookハッシュキーの生成に使用してみてください。

try { 
      PackageInfo info = getPackageManager().getPackageInfo("enter your package", PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
     } catch (PackageManager.NameNotFoundException e) { 

     } catch (NoSuchAlgorithmException e) { 

     } 
0

私はFacebookの中で私のアプリのためのキーハッシュを生成するには、次の手順を使用:

  1. まず(Windowsのコマンドプロンプトを開く)マックでターミナルを開きます。
  2. Androidのdebug.keystoreが保存されているディレクトリに移動します。主にWindowsでは「/Users/user_name/.android/」に、WindowsではC:\ Documents and Settings.androidになります。

  3. MACで

    - 〜/ .androidタイプのCDとは、デバッグキーを取得するには、あなたが「.android」ディレクトリになったら、.androidディレクトリ

  4. に行き、次のコマンドを実行するためにエンターキーを押します。.. keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 - バイナリ| openssl base64

  5. リリースキーを取得するのと同じ手順を使用します。コマンドを次のように置き換えて、リリースキーエイリアスを使用してください。 keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "PATH FOR openssl.exe" sha1 -binary | openssl base64で

  6. それはパスワードの入力を求め、種類アンドロイドと

  7. コピーし、「=」で終わるの端末で印刷された値を入力して、Facebookの中でキーハッシュフィールドに貼り付けヒット。次に、[変更を保存]ボタンをクリックします。

関連する問題