这是我的问题......我想分享一个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 / ... ”),但它不起作用
答案 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。请参阅以下答案: