Facebook 请求代码

2023-12-22

我有一个 Activity 应该处理来自 Facebook SDK 和其他自定义 Activity 的结果。

我在哪里可以找到 Facebook SDK 使用的 requestCodes,以免我的活动使用相同的 requestCodes?

我应该能够区分它们onActivityResult使用他们的 requestCode 因此它们需要是唯一的。


将请求代码传递到sdkInitialize call

FacebookSdk.sdkInitialize(context, 1200);

Then

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (FacebookSdk.isFacebookRequestCode(requestCode)) {
      //Facebook activity result
      //Do your stuff here
      //Further you can also check if it's login or Share etc by using 
      //CallbackManagerImpl as explained by rajath's answer here
      if (requestCode == CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()) {
          //login
      }
      else if (requestCode == CallbackManagerImpl.RequestCodeOffset.Share.toRequestCode()){
         //share
      }
}

From the docs https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/#isFacebookRequestCode

isFacebookRequestCode(int)

如果请求代码在 Facebook SDK 请求使用的范围内,则返回 true。这不包括您在对话框、按钮或 LoginManager 上显式设置的请求代码。 SDK 使用的请求代码范围从callbackRequestCodeOffset 开始,并持续到接下来的100 个值。

sdkInitialize(上下文,int)

该函数初始化 Facebook SDK,如果不调用该函数,Facebook SDK 函数的行为是不确定的。应该尽早调用它。

public static synchronized void sdkInitialize(Context applicationContext, int callbackRequestCodeOffset)
applicationContext应用上下文
callbackRequestCodeOffset调用 Facebook 活动时使用的请求代码偏移量。请不要在其他请求中使用您设置的值与该值之后的另外 100 个条目之间的范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook 请求代码 的相关文章

随机推荐