我正在构建一个使用Android
的{{1}}应用,以便人们可以共享网址。我在我的活动中使用onActivityResult来处理多个事情,所以我在Facebook SDK
上使用了一个开关,以便我知道如何处理每个activityresult。如何取消共享facebook帖子时如何获得正确的requestCode?这是我目前的代码:
requestCode
那么什么是正确的requestCode,我该如何得到它?
答案 0 :(得分:2)
这是我在类似案例中使用的:
if (requestCode == CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()) {
// call callbackManager
}
您还可以设置FacebookSdk使用的请求代码的偏移量:
FacebookSdk.sdkInitialize(getApplicationContext(), 10000);
顺便说一句,我已经发现了这个查看源代码,所以我不确定这个选项是多么“安全”,因为CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()
不是“公开”记录的方法。
答案 1 :(得分:1)
尝试使用sharedialog
new ShareDialog(this).registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
当您取消分享时,您将获得onCancel回调。 同时取消注释
callbackManager.onActivityResult(requestCode, resultCode, data);
来自onActivityResult方法的。