在ActivityCallback方法中获取请求代码的步骤如下:
以下是一个示例代码:
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.login.LoginResult;
public class YourActivity extends AppCompatActivity implements FacebookCallback<LoginResult> {
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化FacebookSdk
FacebookSdk.sdkInitialize(getApplicationContext());
// 激活应用的Facebook事件日志记录功能
AppEventsLogger.activateApp(this);
// 初始化CallbackManager
callbackManager = CallbackManager.Factory.create();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 将结果传递给CallbackManager进行处理
callbackManager.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onSuccess(LoginResult loginResult) {
// 登录成功的处理逻辑
// 获取用户的AccessToken等信息
AccessToken accessToken = loginResult.getAccessToken();
// ...
}
@Override
public void onCancel() {
// 用户取消操作的处理逻辑
}
@Override
public void onError(FacebookException error) {
// 发生错误的处理逻辑
}
// 在ActivityCallback方法中获取请求代码
public void onActivityCallback(int requestCode) {
switch (requestCode) {
case Constants.FACEBOOK_LOGIN_REQUEST_CODE:
// 处理Facebook登录请求的逻辑
// 调用LoginManager进行登录操作
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));
break;
case Constants.FACEBOOK_SHARE_REQUEST_CODE:
// 处理Facebook分享请求的逻辑
// 调用ShareDialog进行分享操作
ShareDialog.show(this, content);
break;
// 其他请求代码的处理逻辑
// ...
}
}
}
在上述示例代码中,我们通过实现FacebookCallback接口,并重写其中的方法来处理Facebook登录、分享等操作的结果。在onActivityCallback方法中,根据请求代码来判断具体的操作类型,并进行相应的处理。
领取专属 10元无门槛券
手把手带您无忧上云