6

这是我的问题...我想分享一个 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/...),但它没有用

4

1 回答 1

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

于 2012-12-19T05:18:07.433 回答