Android中使用Cordova的Facebook应用程序邀请未收到Success/onCancel/onError对话框的回调

Android中使用Cordova的Facebook应用程序邀请未收到Success/onCancel/onError对话框的回调,android,cordova,facebook-app-invites,Android,Cordova,Facebook App Invites,我已附加了Facebook应用程序邀请对话框的触发点代码。我收到了ActivityResult上的回调,但使用Facebook回调寄存器注册的应用程序邀请回调将不会收到回调。我在本机中也尝试过同样的代码,但在为android平台开发cordova插件时遇到回调问题。请帮助 if (AppInviteDialog.canShow()) { AppInviteContent.Builder builder = new AppInviteContent.Builder();

我已附加了Facebook应用程序邀请对话框的触发点代码。我收到了ActivityResult上的
回调,但使用Facebook回调寄存器注册的应用程序邀请回调将不会收到回调。我在本机中也尝试过同样的代码,但在为android平台开发cordova插件时遇到回调问题。请帮助

    if (AppInviteDialog.canShow()) {
        AppInviteContent.Builder builder = new AppInviteContent.Builder();
        builder.setApplinkUrl(url);
        if (picture != null) {
            builder.setPreviewImageUrl(picture);
        }

        showDialogContext = callbackContext;
        PluginResult pr = new PluginResult(PluginResult.Status.NO_RESULT);
        pr.setKeepCallback(true);
        showDialogContext.sendPluginResult(pr);

        cordova.setActivityResultCallback(this);
        AppInviteDialog appInviteDialog = new AppInviteDialog(cordova.getActivity());
        appInviteDialog.show(builder.build());
        appInviteDialog.registerCallback(callbackManager, new FacebookCallback<AppInviteDialog.Result>() {
            @Override
            public void onSuccess(AppInviteDialog.Result result) {
                if (showDialogContext != null) {
                    try {
                        JSONObject json = new JSONObject();
                        Bundle bundle = result.getData();
                        for (String key : bundle.keySet()) {
                            json.put(key, wrapObject(bundle.get(key)));
                        }

                        showDialogContext.success(json);
                        showDialogContext = null;
                    } catch (JSONException e) {
                        showDialogContext.success();
                        showDialogContext = null;
                    }
                }
            }

            @Override
            public void onCancel() {
                FacebookOperationCanceledException e = new FacebookOperationCanceledException();
                handleError(e, showDialogContext);
            }

            @Override
            public void onError(FacebookException error) {
                Log.e("Activity", String.format("Error: %s", error.toString()));
                handleError(error, showDialogContext);
            }
        });
    } else {
        callbackContext.error("Unable to show dialog");
    }
if(AppInviteDialog.canShow()){
AppInviteContent.Builder=新建AppInviteContent.Builder();
setApplinkUrl(url);
如果(图片!=null){
builder.setPreviewImageUrl(图片);
}
showDialogContext=callbackContext;
PluginResult pr=新的PluginResult(PluginResult.Status.NO_结果);
pr.setKeepCallback(真);
showDialogContext.sendPluginResult(pr);
cordova.setActivityResultCallback(此);
AppInviteDialog AppInviteDialog=新建AppInviteDialog(cordova.getActivity());
appInviteDialog.show(builder.build());
registerCallback(callbackManager,new FacebookCallback()){
@凌驾
成功时公共无效(AppInviteDialog.Result){
if(showDialogContext!=null){
试一试{
JSONObject json=新的JSONObject();
Bundle=result.getData();
for(字符串键:bundle.keySet()){
put(key,wrapObject(bundle.get(key));
}
showDialogContext.success(json);
showDialogContext=null;
}捕获(JSONException e){
showDialogContext.success();
showDialogContext=null;
}
}
}
@凌驾
公开作废{
FacebookOperationCanceledException e=新的FacebookOperationCanceledException();
handleError(e,showDialogContext);
}
@凌驾
public void onError(facebook异常错误){
Log.e(“活动”,String.format(“错误:%s”,错误.toString());
handleError(错误,showDialogContext);
}
});
}否则{
callbackContext.error(“无法显示对话框”);
}

这篇文章解释了问题并提出了解决方案是的,没错。但是我得到了
onActivityResult
回调,没有任何问题。问题是我没有收到应用程序邀请的回调dialog@GautamiBhandary你为什么不使用这个插件呢?这个插件是现成的?@Gandhi,我也试过。但同样的问题persists@GautamiBhandary控制台中的错误是什么?