使用手机上的程序,来分享/发送,比如QQ的“发送到我的电脑”。
1、分享/发送文本内容
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
//要分享的文本内容,选择某项后会直接把这段文本发送出去,相当于调用选中的应用的接口,并传参
shareIntent.putExtra(Intent.EXTRA_TEXT, "Here is the Shared text.");
//需要使用Intent.createChooser,这里我们直接复用。第二个参数并不会显示出来
shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
startActivity(shareIntent);
通用步骤:
首先将Intent的cation设置为Intent.ACTION_SEND,
其次根据分享的内容设置不同的Type,
然后根据不同的社交平台设置相关Extras,
最后创建并启动选择器
2、分享/发送单张图片
//指定要分享的图片路径
Uri imgUri = Uri.parse("mnt/sdcard/1.jpg");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imgUri);
shareIntent.setType("image/*");
shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
startActivity(shareIntent);
注意根目录为 mnt/sdcard/
3、分享/发送多张图片
Uri imgUri1 = Uri.parse("mnt/sdcard/1.jpg");
Uri imgUri2 = Uri.parse("mnt/sdcard/2.jpg");
ArrayList<Uri> imgUris = new ArrayList<Uri>(); //使用集合保存
imgUris.add(imgUri1);
imgUris.add(imgUri2); Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); //注意是Intent_ACTION_MULTIPLE
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imgUris); //注意是方法是putParcelableArrayListExtra()
shareIntent.setType("image/*");
shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
startActivity(shareIntent);