android - 使用 LoginManager 不工作的 Facebook 登录 - Fragment Android 中的自定义登录按钮
问题描述
尝试使用 Fragment 中的自定义按钮在 android 中设置 Facebook 登录。
如果我尝试使用 Facebook LoginButton 登录,登录工作正常。
但是下面的代码对我不起作用,出现一个对话框,显示 CONTINUE AS “USER_NAME”,但它没有登录
我的自定义按钮的 XML 代码
<Button
android:id="@+id/fb_custom_login_btn"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/color_fb_btn"
android:paddingLeft="10dp"
android:drawableLeft="@drawable/ic_baseline_facebook_24"
android:text="@string/loginFacebook"
android:textColor="@color/colorWhite"
android:textAllCaps="false"
android:foreground="?attr/selectableItemBackground"
android:textSize="16sp"
android:layout_marginTop="10dp" />
代码片段
private Button fb_btn;
fb_btn = view.findViewById(R.id.fb_custom_login_btn);
//callbackManager is actually declared globally...
CallbackManager callbackManager = CallbackManager.Factory.create();
fb_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(getActivity(), Arrays.asList("public_profile", "email"));
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Toast.makeText(getContext(), "OK", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
Toast.makeText(getContext(), "Cancel", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException error) {
Toast.makeText(getContext(), "Error", Toast.LENGTH_SHORT).show();
}
});
}
});
片段中的 OnActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// callbackManager is Global and can be accessed here
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
解决方案
推荐阅读
- c++ - 如何使用 C++ 访问 zip 中央目录
- android - Android:webview:获取错误代码-6 net::ERR_CONNECTION_REFUSED
- mysql - 如何优化mysql请求?
- python - 在 REPL 中运行后自动结束 Python 进程
- c# - 如何正确格式化和利用 oledb select count 语句中的 where
- javascript - 如何将所有短语排列在另一个之下,从最常重复的短语到重复最少的短语?
- c# - 如何在 C# 中选择 SQL 中的第 n 行
- lua - 我正在尝试制作一个更改文本但无法正常工作的 Roblox GUI
- python - 将 pandas DataFrame 转换为具有连接索引和列值的堆叠字典
- javascript - 更新和导入动态常量