- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用的是 Facebook SDK 4.1。我已将 fb 登录按钮添加到 fragment 中,并将代码设置如下:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.fragment_login, container, false);
LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList("public_profile", "email",
"user_birthday", "user_about_me"));
loginButton.setFragment(this);
return view;
}
然后我有这样的 Activity
public class MainActivity extends AppCompatActivity {
private CallbackManager callbackManager;
private AccessTokenTracker accessTokenTracker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.i("login","success");
}
@Override
public void onCancel() {
Log.i("login","cancel");
}
@Override
public void onError(FacebookException e) {
Log.i("login","error");
}
});
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
// App code
if(currentAccessToken.isExpired()){
LoginManager.getInstance().logOut();
}
}
};
AccessToken accessToken=AccessToken.getCurrentAccessToken();
if(accessToken==null||accessToken.isExpired()){
LoginManager.getInstance().logOut();
getSupportFragmentManager().beginTransaction()
.replace(R.id.frame_container, new LoginFragment())
.commitAllowingStateLoss();
}
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
问题是 callbackManager.onActivityResult(requestCode, resultCode, data);在 onActivityResult 方法中被调用,但 LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback()... 永远不会被调用。为什么会这样?
最佳答案
我删除了 loginButton.setFragment(this);来自 fragment 的行并且正在工作
关于android - 未调用 Facebook LoginManager 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632237/
我想使用 flask_login 来管理用户登录,但出现如下错误: 异常:没有为此 LoginManager 安装 user_loader。使用“LoginManager.user_loader”装饰
我正在尝试使用 LoginManager 并在用户登录时设置权限。我希望 publish_actions 对用户可用。 我像这样使用 LoginManager: LoginManager.ge
我使用的是 Facebook SDK 4.1。我已将 fb 登录按钮添加到 fragment 中,并将代码设置如下: @Override public View onCreateView(Layout
我在我的应用程序中使用 Flask BluePrint,并且必须有主要部分:1. Admin 和 2. Public。当我尝试将 loginManager 导入我的 views.py 文件时,出现错误
尝试使用 facebook SDK 进行简单的 react native 应用程序,出现以下错误: undefined is not an object (evaluating 'LoginManag
我的 LoginButton 工作,但我的 LoginManager 没有。 handleLogin = () => { LoginManager.logInWithReadPermissions(
我正在尝试使用prepareforSegue 将属性传递给我的下一个VC。它被调用,但是我的其他 VC 不加载。 原创 @IBAction func onSignupPressed(sender: A
我在 swift3 中使用 Facebook SDK 首先进入我的 pod: target ‘ProcIOS’ do pod 'MOCA' pod 'Toast-Swift', '~> 2.0.0'
我得到了适用于 IOS 的 sdk,但对于 Android,当我调用 LoginManager.logInWithReadPermissions 时, promise 永远不会得到解决。模态出现,我插
我正在尝试来自 https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-
围绕以下异常有很多问题: no visible @interface for 'FBSDKLoginManager' declares the selector 'logInWithReadPermi
我目前正在我的 React native 应用程序中实现 Facebook 登录按钮。用户成功登录后,我会获取一些信息、名字、姓氏和电子邮件地址。 阅读 SDK 文档和在线示例后,我可以看到实现此目的
我在 xcode8 的 ios 项目中手动集成了 facebook-sdk-swift,遵循文档 [ https://developers.facebook.com/docs/swift/gettin
我正在将 Facebook 登录集成到我的 Android 应用程序中,当我单击登录按钮并允许它给我所需的权限时 意外调用 LoginManager.onActivityResult . 我请求的权限
我使用 facebook sdk 4.9.0 进行 facebook 登录。 Facebook 登录工作正常,但我想要的是每次用户尝试使用 Facebook 登录时,他都应该看到 Facebook 登
我正在尝试使用 Xamarin native iOS 库向 Facebook 进行身份验证并访问 Graph API。 根据该组件的 4.0.1.1 版本说明(我在任何地方都没有找到任何其他文档) F
我正在尝试使用 flask-login 扩展。我正在为 flask 使用 virtualenv。 我可以在 python 解释器窗口中从 flask.ext.login 导入 LoginManager
我正在尝试将旧应用程序的登录代码从 SDK 3.0 迁移到 SDK 4.0。我使用 LoginManager 实现了登录,因为我有自定义登录按钮。 问题是我没有从 Facebook API 得到任何响
如果我使用 react-native-fbsdk 中的 LoginButton,LoginBehaviour 似乎是“本地的”,因为 SDK 与已安装的 FB 应用程序进行通信,看到我已经授予权限并且
我关注这个tutorial我从 xcode 收到此错误消息,请帮忙。 FBSDKLog: There is already a request for authenticated session. C
我是一名优秀的程序员,十分优秀!