与其他应用分享图片

时间:2012-12-19 05:11:55

标签: android image share

这是我的问题......我想分享一个png图片。我有可绘制和资产的图像。当我使用sharingIntent它工作但不是我想要的方式。共享的文件显示为数字而没有扩展名,一些应用程序发送消息“未知文件”。我能做什么??

这是我的代码:

    Uri uri = Uri.parse("android.resource://com.example.shareimages/" + R.drawable.caja);
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);

    shareIntent.setType("image/png");

    shareIntent.putExtra(Intent.EXTRA_STREAM,  uri);

    startActivity(Intent.createChooser(shareIntent, "send"));

我尝试使用资源中的文件而不是可绘制文件(使用此“ file:/// android_asset / ... ”),但它不起作用

1 个答案:

答案 0 :(得分:5)

尝试这样的事情:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("image/*");

// For a file in shared storage.  For data in private storage, use a ContentProvider.
Uri uri = Uri.fromFile(getFileStreamPath(pathToImage));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(shareIntent)

如果您想通过assets文件夹共享它,则必须使用ContentProvider。请参阅以下答案:

https://stackoverflow.com/a/7177103/1369222