从Android App分享图片

时间:2016-09-15 11:06:12

标签: java android android-studio share

我在将应用中的图片分享给其他应用时遇到了麻烦。

问题是当我分享图片时,它不包含扩展程序,而其他应用程序如messenger,whatsapp或gmail无法识别它们。

我的代码是:

    Intent intent = new Intent(Intent.ACTION_SEND);

    String path = "android.resource://com.xxxx.xxxxxxx/drawable/image";
    Uri screenshotUri = Uri.parse(path);

    intent.putExtra(Intent.EXTRA_TEXT, "Hello world!");
    intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
    intent.setType("image/*");

    startActivity(Intent.createChooser(intent, "Share:"));

我在分享音频方面遇到同样的问题:

    Intent share = new Intent();
    share.setAction(Intent.ACTION_SEND);

    String sharePath = "android.resource://com.xxx.xxxxx/raw/" + sound;
    Uri uri = Uri.parse(sharePath);

    share.putExtra(Intent.EXTRA_STREAM, uri);
    share.setType("audio/mp3");

    Intent i = Intent.createChooser(share, "Share Sound File");
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    baseContext.startActivity(i);

我已经检查过官方文档但仍有问题:https://developer.android.com/training/sharing/send.html

感谢您的帮助或任何提示!

1 个答案:

答案 0 :(得分:1)

在共享之前,您必须将图像或音频文件写入SD卡或ExternalStorege。原因是其他应用无法访问您应用的私人内存中的文件。因此,要从您的应用程序共享图像或任何其他文件,您必须使其可供其他应用程序阅读。