将图像分享给其他应用

时间:2012-09-02 14:33:37

标签: android image share

在我的应用程序中,我可以获取屏幕截图并将其保存到SD卡。我想知道是否有可能将它从我的应用程序分享到Whatsapp,例如,作为图库应用程序。

在图库中,您有机会将文件“共享”到Whatsapp,Facebook或Twitter。

我可以从我的应用程序中执行相同的操作吗?怎么样?

谢谢!

2 个答案:

答案 0 :(得分:3)

是的,你可以。

@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)

祝你好运

答案 1 :(得分:0)

结合两个答案,我明白了!感谢你们!

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"));

    }