利用Android自带的API实现分享功能
2017-12-01 17:12
731 查看
前言
在做项目的过程中需要实现文字和图片的分享,有两种方式:1. 使用android sdk中自带的Intent.ACTION_SEND实现分享。
2. 使用shareSDK、友盟等第三方的服务。
鉴于使用的方便,此次只介绍使用Android sdk中自带的方式来实现分享的功能。
分享文字
/** * 分享文字内容 * * @param dlgTitle * 分享对话框标题 * @param subject * 主题 * @param content * 分享内容(文字) */ private void shareText(String dlgTitle, String subject, String content) { if (content == null || "".equals(content)) { return; } Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); if (subject != null && !"".equals(subject)) { intent.putExtra(Intent.EXTRA_SUBJECT, subject); } intent.putExtra(Intent.EXTRA_TEXT, content); // 设置弹出框标题 if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定义标题 startActivity(Intent.createChooser(intent, dlgTitle)); } else { // 系统默认标题 startActivity(intent); } }
分享单张图片
/** * 分享图片和文字内容 * * @param dlgTitle * 分享对话框标题 * @param subject * 主题 * @param content * 分享内容(文字) * @param uri * 图片资源URI */ private void shareImg(String dlgTitle, String subject, String content, Uri uri) { if (uri == null) { return; } Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_STREAM, uri); if (subject != null && !"".equals(subject)) { intent.putExtra(Intent.EXTRA_SUBJECT, subject); } if (content != null && !"".equals(content)) { intent.putExtra(Intent.EXTRA_TEXT, content); } // 设置弹出框标题 if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定义标题 startActivity(Intent.createChooser(intent, dlgTitle)); } else { // 系统默认标题 startActivity(intent); } }
分享多张图片
//分享多张图片 public void shareMultipleImage(View view) { ArrayList<Uri> uriList = new ArrayList<>(); String path = Environment.getExternalStorageDirectory() + File.separator; uriList.add(Uri.fromFile(new File(path+"australia_1.jpg"))); uriList.add(Uri.fromFile(new File(path+"australia_2.jpg"))); uriList.add(Uri.fromFile(new File(path+"australia_3.jpg"))); Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList); shareIntent.setType("image/*"); startActivity(Intent.createChooser(shareIntent, "分享到")); }
相关文章推荐
- LINE分享android利用系统自带分享实现LINE分享功能
- LINE分享android利用系统自带分享实现LINE分享功能
- 利用 Android 系统原生 API 实现分享功能
- Android自带API实现分享功能
- android定时定位 - 利用百度定位API来实现定时定位功能
- android定时定位 - 利用百度定位API来实现定时定位功能
- Android系统自带分享功能的实现(可同时分享文字和图片)
- Android开发知识点:利用意图行为选择器Intent.ACTION_CHOOSER实现“分享更多”功能
- android定时定位 - 利用百度定位API来实现定时定位功能
- iOS之利用系统自带API实现录音功能
- Android利用系统自带功能分享图片
- Android系统自带分享功能的实现(可同时分享文字和图片)
- Android系统自带分享功能的实现(可同时分享文字和图片)
- Android系统自带分享功能的实现(可同时分享文字和图片)
- android利用Intent.ACTION_SEND实现简单分享功能
- Android基于各官方API实现分享功能(不使用第三方集成工具)
- 利用UIActivityController调用ios系统自带的分享功能,实现微信发布多图的功能
- Android系统自带分享功能的实现(可同时分享文字和图片)
- AIR Native Extension:在Android的Flex应用中调用Android Intent实现分享功能
- Android中“分享”功能的实现