onActivityResult 请求代码 Facebook SDK
onActivityResult requestcode Facebook SDK
我正在构建一个 Android
应用程序,它使用 Facebook SDK
以便人们可以共享 URL。我在 activity 中将 onActivityResult 用于多项操作,因此我在 requestCode
上使用了一个开关,以便我知道如何处理每个 activity 结果。例如,当我取消共享 facebook post 时,如何获得正确的 requestCode?这是我目前的代码:
import com.facebook.CallbackManager;
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
... doing some not-facebook-related stuff here
case 2:
... doing some other not-facebook-related stuff here
// case ??? :
// callbackManager.onActivityResult(requestCode, resultCode, data);
那么正确的 requestCode 是什么?我如何获得它?
尝试改用共享对话框
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 方法。
这是我在类似案例中使用的:
if (requestCode == CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()) {
// call callbackManager
}
您还可以设置FacebookSdk使用的requestcodes的偏移量:
FacebookSdk.sdkInitialize(getApplicationContext(), 10000);
顺便说一下,我在查看源代码时发现了这个,所以我不确定 "safe" 这个选项是怎么回事,因为 CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()
不是 "public" 记录的方法.
我正在构建一个 Android
应用程序,它使用 Facebook SDK
以便人们可以共享 URL。我在 activity 中将 onActivityResult 用于多项操作,因此我在 requestCode
上使用了一个开关,以便我知道如何处理每个 activity 结果。例如,当我取消共享 facebook post 时,如何获得正确的 requestCode?这是我目前的代码:
import com.facebook.CallbackManager;
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
... doing some not-facebook-related stuff here
case 2:
... doing some other not-facebook-related stuff here
// case ??? :
// callbackManager.onActivityResult(requestCode, resultCode, data);
那么正确的 requestCode 是什么?我如何获得它?
尝试改用共享对话框
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 方法。
这是我在类似案例中使用的:
if (requestCode == CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()) {
// call callbackManager
}
您还可以设置FacebookSdk使用的requestcodes的偏移量:
FacebookSdk.sdkInitialize(getApplicationContext(), 10000);
顺便说一下,我在查看源代码时发现了这个,所以我不确定 "safe" 这个选项是怎么回事,因为 CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()
不是 "public" 记录的方法.