Android调用系统原生分享组件[通俗易懂]

Android调用系统原生分享组件[通俗易懂]想必做Android开发都会遇到的需求——分享。当然实现的需求和方式的也都各自不一,有接入某个app的SDK进行分享,也有集成第三方平台的例如友盟等等…接下来所要说到的是Android系统提供的分享组件。分享组件能够自动的检索到可以分享app然后将分享内容带入 当然这个也会有所限制的,会有个别app只能分享单一项:“文字+图片”、“图片”、“文字” 好处就是轻量级、避免导入其它jar包或依赖、可减少apk体积Filefile=newFile(filePath

大家好,又见面了,我是你们的朋友全栈君。

想必做Android开发都会遇到的需求——分享。

实现需求和方式也都各自不一,有接入某个app的SDK进行分享,也有集成第三方平台例如友盟等等…

接下来所要说到的是Android系统提供的分享组件,比较易用。

分享组件

  1. 能够自动的检索到可以分享app然后将分享内容带入
  2. 当然这个也会有所限制的,会有个别app只能分享单一项:“文字+图片”、“图片”、“文字”
  3. 好处就是轻量级、避免导入其它jar包或依赖、可减少apk体积
    File file = new File(filePath);
    StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
    StrictMode.setVmPolicy(builder.build());
    Uri uri = Uri.fromFile(file);
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.putExtra(Intent.EXTRA_TEXT, content);
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    shareIntent.setType("image/*");
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    try {
      shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      context.startActivity(Intent.createChooser(shareIntent, "share to"));
    } catch (android.content.ActivityNotFoundException ex) {
      ToastUtils.showByTop(Tools.getString(R.string.share_failed));
    }

介绍:

StrictMode.VmPolic:绕过7.0文件权限

setType:设置分享类型常用也就是:图片、 文字   查看更多戳这?moreType

记得加try catch 避免有的设备出现问题,我这就是一个toast提示。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150926.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java获取当前年月日时间戳_现在的年月日怎么来的

    java获取当前年月日时间戳_现在的年月日怎么来的两种方法,通过Date类或者通过Calendar类。Date类比较简单,但是要得到细致的字段的话Calendar类比较方便。importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.L

    2025年9月21日
    6
  • linux find命令的使用_linux打包命令tar

    linux find命令的使用_linux打包命令tarLinux中find命令是系统中查找文件的命令,可以帮助用户快速找出自己所需要的文件。通过文件名查找find-name文件名find/etc/-namepasswd###查找/etc目录下的passwd通过文件嵌套层数查找find-maxdepth层数###查找文件时最大层数find-mindepth层数###查找文件时最小层数12例;我们查找/etc中所有.conf文件,可以看…

    2022年10月9日
    2
  • rs232c高电平脉冲对应的ttl逻辑是(单片机串口是什么电平)

    目录一、串口协议和RS-232标准1、串口协议2、RS-232标准一、串口协议和RS-232标准1、串口协议串口通讯(SerialCommunication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。2、RS-232标准…

    2022年4月17日
    55
  • ios软件_iOS倒计时

    ios软件_iOS倒计时GitHub:https://github.com/remember17/CountdownTimer全局倒计时工具,可以维护任意多个倒计时当APP从后台进入前台的时候,倒计时不受影响,会根据时间线继续。使用方法: 把CountdownTimer.swift文件拖进项目 在CountdownTimer.swift的枚举CountDownKey中添加定时器 每个枚…

    2022年9月16日
    5
  • PHP程序员如何突破成长瓶颈(php开发三到四年)

    PHP程序员如何突破成长瓶颈(php开发三到四年)

    2021年10月16日
    44
  • 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法

    2021年9月20日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号