//分享文字 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权限的只是微信。
时间: 2024-08-26 23:37:37