分享图片到其他应用程序(Share images to another apps)

2019-09-22 01:48发布

在我的应用程序,我可以得到一个截屏,并将其保存到SD卡上。 我想知道是否有可能从我的应用程序WhatsApp的分享,例如,作为画廊的应用程序一样。

在画廊,你有“分享”的文件,以WhatsApp的,Facebook或Twitter的机会。

我可以做同样的从我的应用程序? 怎么样?

谢谢!

Answer 1:

是的你可以。

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@SuppressWarnings( "deprecation" )
public static Intent shareImage(Context context, String pathToImage) {
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
        shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    else
        shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);

    shareIntent.setType("image/*");

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

这里是一个详细链接: http://android-developers.blogspot.com/2012/02/share-with-intents.html

因此,只需添加一个“共享”按钮,并执行startActivity(shareIntent)

祝好运



Answer 2:

Conbining两个答案我知道了! 感谢大伙们!

private void shareIt() {
    //sharing implementation here

    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
    sharingIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    sharingIntent.setType("image/*");

    Uri uri = Uri.fromFile(file);
    sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);

    startActivity(Intent.createChooser(sharingIntent, "Share via"));

    }


文章来源: Share images to another apps