3
AndroidでFacebookログイン機能を実装していますが、これはエミュレータとGoogle Nexusデバイスで正常に動作するようです。しかし、承認はHTC Desire Sのユーザーによってキャンセルされたようで、onComplete()
は決して呼び出されません。私が見つけた唯一の違いは、HTCにはFacebookのアプリケーションが組み込まれていることです。htc desireでonCompleteメソッドが呼び出されていない
private void Login(){
facebook.authorize(this,new String[] {"email"}, new Facebook.DialogListener() {
@Override
public void onComplete(Bundle values) {
Log.d("Auth","onCompleteCalled");
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {
Log.d("Auth","Cancelled");
}
});
エラーメッセージがFacebookのSDKコードのこのセクションから来ている:これは私が使用していたコードである
} else if (resultCode == Activity.RESULT_CANCELED) {
// An Android error occured.
if (data != null) {
Log.d("Facebook-authorize",
"Login failed: " + data.getStringExtra("error"));
mAuthDialogListener.onError(
new DialogError(
data.getStringExtra("error"),
data.getIntExtra("error_code", -1),
data.getStringExtra("failing_url")));
// User pressed the 'back' button.
} else {
Log.d("Facebook-authorize", "Login canceled by user."); //This is the error I get
mAuthDialogListener.onCancel();
}
あなたの望みには、どのバージョンのFacebookアプリとどのAndroidバージョンがありますか?私は2.2でそれをテストしました。それはAndroid 1.3.2用のFacebookに付属しています。それは私のために働きます(ただし、Web認証にも当てはまります)。また、市場からfacebookアプリをアップデートすることができるので、ユーザーはinbuildの代わりに最新版を持っている可能性があります。 –
Facebookバージョン1.5.1、Htc Androidバージョン2.3.3私のアプリは2.1バージョンで作成されます。私はまた、HTC Senseバージョン1のFacebookを持っています。私はどちらもunistallできません。 – JustCurious
mFacebook.authorize(context、 新しいString [] {"user_photos"、 "friends_photos"、 "publish_stream"}、 -1、 (DialogListener)dialogListener); 新しい統合ログインダイアログボックスの代わりに従来のダイアログボックスを呼び出して、ジョブを実行しました。誰かがもっと良い解決策を持っているなら、それを聞いてうれしいです。 Shane Oliverへのクレジット – JustCurious