调用Android 系统自带分享功能

1. 设置Intent的action为Intent.ACTION_SEND。

2. 把要分享的数据通过.putExtra()传入intent。

3. 设置类型.setType()。

4.startActivity()。

系统会自动识别出能够兼容接受这些数据,且类型相符合的 activity。如果这些选择有多个,则把这些 activity 显示给用户进行选择。

若要响应其他应用的分享,在AndroidManifest里设置。

5. 如果为intent调用了Intent.createChooser(),那么 Android 总是会显示可供选择。这样有一些好处:

即使用户之前为这个 intent 设置了默认的 action,选择界面还是会被显示。

如果没有匹配的程序,Android 会显示系统信息。

我们可以指定选择界面的标题。

1. 分享文本内容

Intent intent=new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_TEXT,"This is text to send");

intent.setType("text/plain");

startActivity(Intent.createChooser(intent,"share"));

2. 分享二进制内容(如图片等)

Intent intent=new Intent(Intent.ACTION_SEND);

Uri uri=Uri.fromFile(new File("/storage/emulated/0/pictures/123.jpg"));

intent.putExtra(Intent.EXTRA_STREAM,uri);

intent.setType("image/*");

startActivity(Intent.createChooser(intent,"share"));

3. 分享多块内容

ArrayList imageUris = new ArrayList();

Uri imageUri1=Uri.fromFile(new File("/storage/emulated/0/pictures/123.jpg"));

Uri imageUri2=Uri.fromFile(new File("/storage/emulated/0/UCDownloads/pictures/123.jpg"));

imageUris.add(imageUri1);

imageUris.add(imageUri2);

Intent intent = new Intent();

intent.setAction(Intent.ACTION_SEND_MULTIPLE);

intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);

intent.setType("image/*");

startActivity(Intent.createChooser(intent, "share"));

你可能感兴趣的:(调用Android 系统自带分享功能)