我有一个 Android 应用程序,可通过 Facebook 登录并与 parse.com 集成。不幸的是,当用户使用 Facebook 登录时,授权 Web 视图会启动两次。
我已经广泛搜索了合适的解决方案,但还没有找到。我也玩过 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 还比较陌生。