我有一个集成了 Facebook 登录和 parse.com 的 Android 应用。不幸的是,当用户使用 Facebook 登录时,授权网页会被启动两次。
我已经进行了大量搜索以找到一个适当的解决方案,但没有找到。我也调整了 Facebook 端的几乎所有应用设置。
这里是我从 LoginActivity 调用登录的地方。我不知道其他登录正在哪里启动。
这里是XML中的登录按钮:
以下是我的清单文件中的设置:
我已经进行了大量搜索以找到一个适当的解决方案,但没有找到。我也调整了 Facebook 端的几乎所有应用设置。
这里是我从 LoginActivity 调用登录的地方。我不知道其他登录正在哪里启动。
private void onLoginButtonClicked() {
NativeLoginActivity.this.progressDialog = ProgressDialog.show(NativeLoginActivity.this, "", "Logging in...", true);
List<String> permissions = Arrays.asList("public_profile", "user_friends", "user_about_me", "user_relationships", "user_birthday",
"user_location");
ParseFacebookUtils.logIn(permissions, this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
//NativeLoginActivity.this.progressDialog.dismiss();
if (user == null) {
Log.d(TAG, "Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew()) {
showUserDetailsActivity();
} else {
Log.d(TAG, "User logged in through Facebook!");
showUserDetailsActivity();
}
}
});
}
这里是XML中的登录按钮:
<com.facebook.widget.LoginButton
android:id="@+id/fbLoginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:layout_marginBottom="10dp"/>
以下是我的清单文件中的设置:
这里是我的清单文件中的设置:
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
Facebook设置: 类名是我的 MainActivity
, 单点登录已启用,应用状态为公共。
我不明白额外的登录调用来自哪里。任何帮助都将被赞赏,以便让我朝着解决方案前进。我对Android相对较新。