Facebook Intent.ACTION_SEND返回0作为resultCode

时间:2014-03-12 15:16:41

标签: android facebook android-intent android-activity

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

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,因为我需要收到一个Result来保存关于我的共享的记录。我处理结果代码的代码如下:

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.我不知道发生了什么。我认为实施的机制是预期的。有什么建议吗?

1 个答案:

答案 0 :(得分:6)

  

我必须调用startActivityForResult,因为我需要收到一个Result来记录我的股票

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