媒体开发

运用 Android 系统自带分享功能

2016-09-22  本文已影响7256人  TTTqiu

1. 设置 IntentactionIntent.ACTION_SEND
2. 把要分享的数据通过 .putExtra() 传入 intent
3. 设置类型 .setType()
4. startActivity()
5. 如果为intent调用了Intent.createChooser(),那么 Android 总是会显示可供选择。这样有一些好处:
  1. 即使用户之前为这个 intent 设置了默认的 action,选择界面还是会被显示。
  2. 如果没有匹配的程序,Android 会显示系统信息。
  3. 我们可以指定选择界面的标题。

1. 分享文本内容

        Intent intent1=new Intent(Intent.ACTION_SEND);
        intent1.putExtra(Intent.EXTRA_TEXT,"This is my text to send");
        intent1.setType("text/plain");
        startActivity(Intent.createChooser(intent1,"share"));

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

        Intent intent2=new Intent(Intent.ACTION_SEND);
        Uri uri=Uri.fromFile(new File("/storage/emulated/0/pictures/1474533294366.jpg"));
        intent2.putExtra(Intent.EXTRA_STREAM,uri);
        intent2.setType("image/*");
        startActivity(Intent.createChooser(intent2,"share"));

3. 分享多块内容

        ArrayList<Uri> imageUris = new ArrayList<Uri>();
        Uri imageUri1=Uri.fromFile(new File("/storage/emulated/0/pictures/1474533294366.jpg"));
        Uri imageUri2=Uri.fromFile(new File("/storage/emulated/0/UCDownloads/pictures/319534.jpg"));
        imageUris.add(imageUri1);
        imageUris.add(imageUri2);

        Intent intent3 = new Intent();
        intent3.setAction(Intent.ACTION_SEND_MULTIPLE);
        intent3.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
        intent3.setType("image/*");
        startActivity(Intent.createChooser(intent3, "share"));
上一篇下一篇

猜你喜欢

热点阅读