シングル サインオン機能を使用して、Facebook をアプリに統合したいと考えています。エミュレーターでは機能しますが (ユーザー認証ダイアログを表示します)、ログ メッセージ「com.facebook.katana.provider.AttributionIdProvider のプロバイダー情報が見つかりませんでした」があるデバイスでは機能しません。
このような無効なキーエラーが発生していないため、キーハッシュはおそらく正しいでしょう。また、SSO を使用しない場合でも、従来の方法を強制すると正常に動作します。
必要なコードを含めたので、これも問題ではありません。
私はこれを読みましたが、どちらも役に立ちませんでした。
私のコードは次のようになります。
public class LoginActivity extends Activity {
Facebook facebook = new Facebook("123425315215"); // my actual code is not that
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
facebook.authorize(this, new DialogListener() {
public void onComplete(Bundle values) {Log.d("TAG","SUCCESS");}
public void onFacebookError(FacebookError error) {Log.d("TAG","onFacebookError "+error.getMessage());}
public void onError(DialogError e) {Log.d("TAG","onError "+e.getMessage());}
public void onCancel() {Log.d("TAG","onCancel ");}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
}