zoukankan      html  css  js  c++  java
  • Android 实现系统分享

    使用手机上的程序,来分享/发送,比如QQ的“发送到我的电脑”。

    1、分享/发送文本内容

    1  Intent shareIntent = new Intent();
    2         shareIntent.setAction(Intent.ACTION_SEND);
    3         shareIntent.setType("text/plain");
    4         //要分享的文本内容,选择某项后会直接把这段文本发送出去,相当于调用选中的应用的接口,并传参
    5         shareIntent.putExtra(Intent.EXTRA_TEXT, "Here is the Shared text.");
    6         //需要使用Intent.createChooser,这里我们直接复用。第二个参数并不会显示出来
    7         shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
    8         startActivity(shareIntent);

    通用步骤:

    首先将Intent的cation设置为Intent.ACTION_SEND,

    其次根据分享的内容设置不同的Type,

    然后根据不同的社交平台设置相关Extras,

    最后创建并启动选择器

    2、分享/发送单张图片

    1  //指定要分享的图片路径
    2         Uri imgUri = Uri.parse("mnt/sdcard/1.jpg");
    3         Intent shareIntent = new Intent();
    4         shareIntent.setAction(Intent.ACTION_SEND);
    5         shareIntent.putExtra(Intent.EXTRA_STREAM, imgUri);
    6         shareIntent.setType("image/*");
    7         shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
    8         startActivity(shareIntent);

    注意根目录为     mnt/sdcard/   

    3、分享/发送多张图片

     1  Uri imgUri1 = Uri.parse("mnt/sdcard/1.jpg");
     2         Uri imgUri2 = Uri.parse("mnt/sdcard/2.jpg");
     3         ArrayList<Uri> imgUris = new ArrayList<Uri>();   //使用集合保存
     4         imgUris.add(imgUri1); 
     5         imgUris.add(imgUri2); 
     6 
     7         Intent shareIntent = new Intent();
     8         shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);    //注意是Intent_ACTION_MULTIPLE
     9         shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imgUris);   //注意是方法是putParcelableArrayListExtra()
    10         shareIntent.setType("image/*");
    11         shareIntent = Intent.createChooser(shareIntent, "Here is the title of Select box");
    12         startActivity(shareIntent);
  • 相关阅读:
    数学基础之梯度
    背包九问心得
    如何判断机器是大端机还是小端机
    Matlab学习 2021年2月10日
    数字信号处理(超浓缩版)第一天
    matlab里的数据类型
    如何学习Matlab的帮助文档?& 如何去编写帮助文档
    fprintf 和 dlmwrite 在写数据时的区别
    lateinit 延迟初始化
    data class 在 Kotlin中的定义
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/10887093.html
Copyright © 2011-2022 走看看