Android实现分享功能 Android自带API实现分享功能(android微信分享功能)

网友投稿 592 2022-06-06


想了解Android自带API实现分享功能的相关内容吗,夏沫凡尘在本文为您仔细讲解Android实现分享功能的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:android分享多张图片,android分享多张图片,android分享文字,下面大家一起来学习吧。

前言

在做项目的过程中需要实现文字和图片的分享,有两种方式:
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, "分享到")); 
  } 



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中的时间日期API Java中的时间日期API知识点总结(java 时间是否是今天)
下一篇:Spring Cloud之Zuul实现API网关与请求过滤 Spring Cloud入门教程之Zuul实现API网关与请求过滤(springboot框架)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~