Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript `结果.isCancelled`+`result.postId`通过Android上的ShareDialog取消后始终未定义_Javascript_Android_Facebook_React Native_React Native Fbsdk - Fatal编程技术网

Javascript `结果.isCancelled`+`result.postId`通过Android上的ShareDialog取消后始终未定义

Javascript `结果.isCancelled`+`result.postId`通过Android上的ShareDialog取消后始终未定义,javascript,android,facebook,react-native,react-native-fbsdk,Javascript,Android,Facebook,React Native,React Native Fbsdk,我正试图利用“react native fbsdk”库中的ShareDialog导出 我们的实现(如下所示)在用户的设备上没有安装Facebook以及用户成功共享照片时运行良好 但是,当用户开始共享并放弃Facebook窗口时,result.isCancelled仅在iOS上捕获结果。postId不会在iOS和Android上填充 为了在Android上填充result.isCancelled,和/或在任何一个平台上填充result.postId,是否需要执行某些操作 ShareDialog

我正试图利用“react native fbsdk”库中的ShareDialog导出

我们的实现(如下所示)在用户的设备上没有安装Facebook以及用户成功共享照片时运行良好

但是,当用户开始共享并放弃Facebook窗口时,
result.isCancelled
仅在iOS上捕获<代码>结果。postId不会在iOS和Android上填充

为了在Android上填充
result.isCancelled
,和/或在任何一个平台上填充
result.postId
,是否需要执行某些操作

  ShareDialog.canShow(shareContent).then(
    (canShow) => {
      if (canShow) {
        return ShareDialog.show(shareContent);
      } else {
        return false;
      }
    },
  ).then(
    (result) => {
      if (!result) {
        Alert.alert('Error', 'You must have Facebook installed on this device in order to share this post')
      } else if (result.isCancelled) {
        Alert.alert('Cancelled', 'Share cancelled');
      } else {
        Alert.alert('Success!', 'Share successful');
      }
    },
    (error) => {
      Alert.alert(`Share fail with error: ${error}`);
    },
  )

Facebook对话框也会告诉用户这一点。没有理由再次告诉用户他可能不需要“再次”告诉用户,但他很可能需要在应用层做一些特定的事情来响应用户取消。需要知道用户是否停止了在您的系统中启动的操作是完全合理的app@WizKid这里有一个更新的链接:我假设从上面的代码中我们的意图是明确的。我们希望在4个用例中提醒用户:(1)当用户成功共享帖子时。(2) 当用户成功取消共享对话框时。(3) 当用户没有安装Facebook时。以及(4)当发生错误时。@WizKid,感谢您更好地解释您的担忧,但是,我认为这与Michael的问题无关。这个过程在iOS上运行,但在Android上不起作用。他们想在应用层做什么并不重要,重要的是不同平台的功能不一样。安卓系统似乎在这方面已经崩溃regard@WizKid我想你的意思是相反的?因为它听起来像是预期的功能在iOS中工作,但在Android中不工作。您的“解决方案”在理论上似乎有缺陷,因为在没有某种形式的文档的情况下删除某个功能,而只在单个平台上删除它,这几乎没有什么好处。如果您知道一些文档显示此功能不受支持,我相信这比盲目猜测更有用。很明显,你不知道如何解决Michael的问题,所以也许是时候停止这个毫无意义的对话了?