在我的应用程序中,我可以获取屏幕截图并将其保存到 SD 卡中。我想知道是否可以将它从我的应用程序共享到 Whatsapp,例如,就像画廊应用程序一样。
在图库中,您有机会将文件“分享”到 Whatsapp、Facebook 或 Twitter。
我可以从我的应用程序中执行相同的操作吗?如何?
谢谢!
是的你可以。
@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)
.
结合这两个答案,我明白了!谢谢你们!
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"));
}