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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QQ密技十五招[通俗易懂]

    QQ密技十五招[通俗易懂]1.减少QQ占用内存资源的秘笈  登陆QQ后,占用内存:约8M  QQ离线,占用内存:约10M  秘笈:登陆QQ后,随便打开一个好友的对话窗口,把它最小化,QQ占用的内存就变为3M了,这对于内存小的朋友特别有用!!2.QQ自定义头像上传成功率较高的方法  1.将图像剪裁成40*40,再大的图也是这么大..  2.将图像转换成bmp格式  3.满足以上条件后

    2022年7月20日
    15
  • aero是什么意思啊_自动驾驶视觉算法

    aero是什么意思啊_自动驾驶视觉算法数据集介绍aeroscapes数据集下载链接AeroScapes航空语义分割基准包括使用商用无人机在5到50米的高度范围内捕获的图像。该数据集提供3269张720p图像和11个类别的真实掩码。数据加载dataloder写法(基于pytorch)由于该数据集提供了掩码图,因此不需要进行掩码图转换。下载完成后,文件结构如下:ImageSets文件夹:存放了两个txt文件,划分了训练集和验证集。JPEGImages文件夹:存放了RGB图像。SegmentationClass

    2022年8月15日
    1
  • html b5纸尺寸,b5纸的大小?「建议收藏」

    html b5纸尺寸,b5纸的大小?「建议收藏」B5纸的大小是18.2cm*25.7cm,也就是说B5纸是182*257毫米32开B5一般有两种尺寸,EXTRA也就是标准的就是20.1cmX27.6cm还有一种是18.2cmX25.7cmA4纸是多少开的?这要从纸张的制作说起,纸张的规格是指纸张制成后,经过修整切边,裁成一定的尺寸。过去是以多少开(例如8开或16开等)来表示纸张的大小。现在通常采用国际标准,规定以A0、A1、A2、B1、B2…

    2022年6月20日
    52
  • 什么是多层感知机(什么是多层感知机)

    1.感知机与多层感知机1.1门与门:实现逻辑“乘”运算y=AB与门真值表ABy000010100111非门:实现逻辑非,一对一输出非门真值表Ay0110或门:实现逻辑“和”运算y=A+B或门真值表ABy00010101111…

    2022年4月11日
    101
  • 【转载】C#之C#、.NET Framework、CLR的关系

    【转载】C#之C#、.NET Framework、CLR的关系

    2021年11月20日
    290
  • 获取impala下所有的数据库建表语句

    获取impala下所有的数据库建表语句本博文介绍三种方法,推荐使用第三种,前两种都是尝试。方法一:现在的导出还是有缺陷的,导出的文件中还是存在其他不必要的信息#!/bin/bash##获取数据库databases=$(hive-e”showdatabases;exit;”)fordatabasein$databases;do#获取hive建表语句tables=$(hive-e”use$database;showtables;”)for…

    2022年9月7日
    0

发表回复

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

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