Android中使用Cordova的Facebook应用程序邀请未收到Success/onCancel/onError对话框的回调
我已附加了Facebook应用程序邀请对话框的触发点代码。我收到了ActivityResult上的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回调寄存器注册的应用程序邀请回调将不会收到回调。我在本机中也尝试过同样的代码,但在为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控制台中的错误是什么?