Android自带API实现分享功能

前言

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • android7.0实现分享图片到朋友圈功能

    本文实例为大家分享了android实现分享图片到朋友圈功能的具体代码,供大家参考,具体内容如下 在Android7.0中,系统对scheme为file://的uri进行了限制,所以通过这种uri来进行分享的一些接口就不能用了,比如使用代码来调用分享朋友圈的接口. 此时就得使用其他的URI scheme来代替 file://,比如MediaStore的 content://.直接上代码: private static boolean checkInstallation(Context contex

  • Android使用ShareSDK实现应用分享的功能

    简介 今天给大家带来的是使用ShareSDK实现应用分享的功能.下面我们先看下效果图. 效果图 步骤 1. 获取AppKey 访问mob官网http://mob.com注册账号–>点击头像进入"后台中心"–>选择shareSDK–>添加应用–>获取AppKey. 点击添加后,就可以生成项目对应的AppKey. 2. SDK下载 访问mob官网http://mob.com下载最新的sdk. 然后点击一键下载就可以下载最新的sdk. 3. sdk目录结构 上面这张图

  • Android系统自带分享图片功能

    简介 记录一个利用系统分享功能进行图片分享的工具类(代码是用Kotlin写的,都是比较简单的语法,部分可能需要自定义的地方都已经标出).调用方式比较简单: Util.startShareImage(this) //this为当前的Activity实例 权限 记得添加文件操作权限, 另外需要注意6.0版本以上的权限管理 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <

  • Android使用WebView实现截图分享功能

    在APP项目的开发过程中,经常会用到分享图片的功能,有时候还需要根据当前用户信息获取指定的分享图片,比如要求在用户分享图中显示用户名.Uid.用户头像等信息.想到的实现方法主要有两点: 1.通过android SDK自带的Canvas方法进行绘制. 2.通过webView实现客户端与H5交互,然后将H5界面做截图处理. 本文主要介绍第二种方式的实现过程,第一种方式的实现方法,后续有时间会在博客中做说明,下面开始本文内容. 首先确定我们要实现的逻辑: 1.客户端与H5的交互,客户端将用户信息(用户

  • Android实现原生分享功能

    本文实例为大家分享了Android实现分享功能的具体代码,供大家参考,具体内容如下 因为公司的需求,最近一直在做分享这一块的功能.大概有这样几种思路: 1.使用Intent调用andoird原生的分享功能: 2.使用第三方的sdk,比如ShareSdk或者友盟: 3.去对应的平台下载jar包,参考官方设计文档写出自己的分享demo,但这种一般也比较复杂,尤其搞不懂qq和微信一家公司的,为什么微信那么麻烦. 不废话了,直接上代码: 一. 新建ShareUtil.java类 import java.

  • Android自带API实现分享功能

    前言 在做项目的过程中需要实现文字和图片的分享,有两种方式: 1. 使用android sdk中自带的Intent.ACTION_SEND实现分享. 2. 使用shareSDK.友盟等第三方的服务. 鉴于使用的方便,此次只介绍使用Android sdk中自带的方式来实现分享的功能. 分享文字 /** * 分享文字内容 * * @param dlgTitle * 分享对话框标题 * @param subject * 主题 * @param content * 分享内容(文字) */ private

  • Android中使用ShareSDK集成分享功能的实例代码

    引言 现在APP开发集成分享功能已经是非常普遍的需求了.其他集成分享技术我没有使用过,今天我就来介绍下使用ShareSDK来进行分享功能开发的一些基本步骤和注意点,帮助朋友们避免一些坑.好了,下面切入正题正式开始介绍. 1.ShareSDK开发包及配置 这个不用多说,去他们官网看找SDK开发包和集成文档即可. Android版本地址:http://www.mob.com/downloadDetail/ShareSDK/android. 注意:记得要注册ShareSDK账号获取AppKey哦.这些

  • Android编程实现调用系统分享功能示例

    本文实例讲述了Android编程实现调用系统分享功能.分享给大家供大家参考,具体如下: /** * 调用系统的分享功能 * Created by admin on 15-4-13. */ public class ShareActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV

  • Android开发中应用程序分享功能实例

    本文实例讲述了Android开发中应用程序分享功能.分享给大家供大家参考,具体如下: Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); //设置类型 shareIntent.setType("text/plain"); //设置分享的主题 shareIntent.putExtra("android.intent.extra.SUBJECT", "分享&

  • Android编程之微信SDK分享功能过程步骤详细分析

    本文实例讲述了Android编程之微信SDK分享功能过程步骤详细分析.分享给大家供大家参考,具体如下: 之前已经分析过怎么用官方的demo分享微信信息了,在这里我就不再多说,其中关于在自己应用分享说得很简单,本文作者也是经过一番折腾才弄成功,为了以后让大家都少走弯路,决定在这里从头到尾介绍怎么在自己的应用中分享功能 注意:顺序不能乱!! 1.建立自己的应用 TestShareWX (1)应用包名是com.freeson.test,然后建立一个测试Activity,名字为TestActivity,

  • 微信小程序实现带参数的分享功能(两种方法)

    微信小程序分享功能的实现方法有两种: 第一种 在page.js中实现onShareAppMessage,便可在小程序右上角选择分享该页面 onShareAppMessage: function () { return { title: '弹出分享时显示的分享标题', desc: '分享页面的内容', path: '/page/user?id=123' // 路径,传递参数到指定页面. } } 第二种 自定义按钮实现分享,在page中添加一个带有open-type='share'的button标签

  • 详解Android系统中跨应用数据分享功能的实现

    一个Andoird应用程序的重要的地方是他们有相互沟通和整合的能力,一个应用程序可以和另一个应用程序交互,接下来我们来看看Android应用之间的内容分享 当你构建Intent的时候,必须要指定Intent的Action触发,定义Intent的Action例如ACTION_SEND,你大概可以猜到指定Action为ACTION_SEND的Intent的作用是从一个Activity发送数据到另一个Activity,甚至跨越不同的进程,将数据发送给另一个Activity,你需要指定数据和他的类型,系

  • Android实现带签到赢积分功能的日历

    Android实现点击签到按钮直接签到,弹出dialog,先上效果图 demo是利用gridview实现的,现附上布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&qu

  • Android调用系统自带的分享功能实例代码

    实现分享功能的几个办法 1.调用系统的分享功能 2.通过第三方SDK,如ShareSDK,友盟等 3.自行使用各自平台的SDK,比如QQ,微信,微博各自的SDK 这里就记录下第一种办法. 分享文本信息 Intent textIntent = new Intent(Intent.ACTION_SEND); textIntent.setType("text/plain"); textIntent.putExtra(Intent.EXTRA_TEXT, "这是一段分享的文字&quo

随机推荐