调用系统分享功能


调用系统分享功能_第1张图片



//分享文字
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "要分享的文本。");
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, "分享"));

//分享图片
Uri uri = Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera/img.jpg"));
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/jpeg");
startActivity(Intent.createChooser(intent, "分享"));

//分享一系列图片
ArrayList<Uri> uris = new ArrayList<>();
uris.add(Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera/img.jpg")));
uris.add(Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera/aaa.jpeg")));

Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "分享"));

原理应该是这样的:比如微信注册了某个Action为Intent.ACTION_SEND的Activity,分享的时候只是调用了这个Activity,把数据传过去,这些都是在手机内进行的,不需要联网,由微信实现分享,所以需要Internet权限的只是微信。

你可能感兴趣的:(android,分享)