android - Facebook Intent.ACTION_SEND 始终返回 0 作为 resultCode

标签 android facebook android-intent android-activity

我正在尝试使用我的应用程序并启动 Intent.ACTION_SEND 在 Facebook 上分享照片。我的代码如下:

File file = new File(imagePath);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType(MimeTypeUtils.getMimeType(imagePath));
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
sharingIntent.setPackage("com.facebook.katana");
baseFragment.startActivityForResult(sharingIntent, Values.REQUEST_CODE_FACEBOOK_SHARE);

我正在毫无问题地执行共享,但我总是得到 0(零)结果,即使我取消操作或成功执行操作也是如此。我必须调用 startActivityForResult,因为我需要接收一个结果来记录我的共享。我处理结果代码的代码如下:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
   case Values.REQUEST_CODE_FACEBOOK_SHARE:
     if (resultCode == Activity.RESULT_OK){
        //Save a new record
     }
     else {
        //Do nothing
     }
   break;
}

应用程序永远不会进入 if 子句,因为结果代码始终为 0。我不知道发生了什么。我认为实现的机制是预期的。有什么建议吗?

最佳答案

I have to call the startActivityForResult because I need to receive a Result to keep a record about my shares

ACTION_SEND 并非旨在返回结果,如 the documentation 中所述(“输出:无”)。很少(如果有的话)应用会返回结果,而那些从技术上讲应该不会返回结果的应用。

关于android - Facebook Intent.ACTION_SEND 始终返回 0 作为 resultCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355899/

相关文章:

android - OpenGL立方体着色

javascript - Facebook JS SDK - 在动态对话框中标记好友?

java - 如何通过 Intent 共享多个文件?

android - 如何使用 Intents 将对象从一个 Android Activity 发送到另一个?

android - "ERROR: OpenGLES initialization failed!"在 CentOS 与 android SDK

android - SparseArray 错误 : Call requires API level S

android - 将数据从服务发送到 Activity 和屏幕旋转

iOS Facebook SDK startWithGraphPath :parameters post to just SOME friends programmatically

地址栏中的Javascript,我该如何破译?

android - 是否可以刷新 fragment 的 View