问题描述
目前我正在使用 Capacitor 3 和 Facebook Android SDK 创建我自己的 Facebook 登录插件。我被困在 onActivityResult
facebook 方法上,我需要传递活动请求代码。如何获取此代码?
@CapacitorPlugin(
name = "FacebookLoginSdk",permissions = {
@Permission(
alias = "internet",strings = {Manifest.permission.INTERNET}
)
}
)
public class FacebookLoginSdkPlugin extends Plugin {
...
@PluginMethod
public void login(PluginCall call) {
callbackId = call.getCallbackId();
bridge.saveCall(call);
if (getPermissionState("internet") != PermissionState.GRANTED) {
requestPermissionForAlias("internet",call,"internetPermsCallback");
} else {
logInWithReadPermissions(call);
}
}
@PermissionCallback
private void internetPermsCallback(PluginCall call) {
if (getPermissionState("internet") == PermissionState.GRANTED) {
logInWithReadPermissions(call);
} else {
call.reject("Permission is required");
}
}
private void logInWithReadPermissions(PluginCall call) {
Activity activity = getActivity();
Intent intent = activity.getIntent();
startActivityForResult(call,intent,"loginResultCallback");
loginManager.logInWithReadPermissions(activity,Arrays.asList(facebookPermissions));
}
@ActivityCallback
private void loginResultCallback(PluginCall call,ActivityResult result) {
if (call == null) {
return;
}
int resultCode = result.getResultCode();
Intent data = result.getData();
callbackManager.onActivityResult(???REQUEST_CODE???,resultCode,data);
}
}
解决方法
我正在寻找的属性是 FACEBOOK_SDK_REQUEST_CODE_OFFSET