现在的位置: 首页 > 移动开发 > 正文

如何在android开发使用ACTION_SEND中共享图片和文本

2019年09月09日 移动开发 ⁄ 共 1636字 ⁄ 字号 评论关闭
文章目录

我想使用 ACTION_SEND 共享图片+文字,我运行了下面的代码,暂时只能共享图片,无法共享文字,我如何才能共享?

private Uri imageUri;
       private Intent intent;
 
        imageUri = Uri.parse("android.resource://" + getPackageName()
                + "/drawable/" + "ic_launcher");
        intent = new Intent();
        intent.setAction(Intent.ACTION_SEND);
        intent.putExtra(Intent.EXTRA_TEXT, "Hello");
        intent.putExtra(Intent.EXTRA_STREAM, imageUri);
        intent.setType("image/*");
        startActivity(intent);

//如何才能共享图片?

处理方法

你可以共享下面的代码:

String shareBody = "Here is the share content body";
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.share_using)));

所以你的全部代码(图片+文本)需要变成

private Uri imageUri;
private Intent intent;
 
imageUri = Uri.parse("android.resource://" + getPackageName()
+ "/drawable/" + "ic_launcher");
 
intent = new Intent(Intent.ACTION_SEND);
//text
intent.putExtra(Intent.EXTRA_TEXT, "Hello");
//image
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
//type of things
intent.setType("*/*");
//sending
startActivity(intent);

把image/*替换成 with */*

更新:

Uri imageUri = Uri.parse("android.resource://" + getPackageName()
+ "/drawable/" + "ic_launcher");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello");
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.setType("image/jpeg");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(shareIntent, "send"));

原文地址:http://www.itmmd.com/201411/214.html 
该文章由 萌萌的IT人 整理发布,转载须标明出处。

抱歉!评论已关闭.