android 分享图片和视频
今天,简单讲讲如何调用手机的分享功能进行分享。
效果图:
package com.xiaolijuan.sharedome;import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.RelativeLayout;import java.io.File;
import java.util.ArrayList;/*** 项目名称:ShareDome* 类描述:* 创建人:xiaolijuan* 创建时间:2016/1/13 23:48*/
public class ShareActivity extends Activity implements View.OnClickListener {private RelativeLayout mRlShareText, mRlShareSingleimage, mRlShareMultipleimage, mRlShareQQ, mRlShareTencent, mRlShareWechat, mRlShareMicroblog, mRlShareOther;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_share);bindView();}private void bindView() {mRlShareText = (RelativeLayout) findViewById(R.id.rl_share_text);mRlShareSingleimage = (RelativeLayout) findViewById(R.id.rl_share_singleimage);mRlShareMultipleimage = (RelativeLayout) findViewById(R.id.rl_share_multipleimage);mRlShareQQ = (RelativeLayout) findViewById(R.id.rl_share_qq);mRlShareTencent = (RelativeLayout) findViewById(R.id.rl_share_qqtencent);mRlShareWechat = (RelativeLayout) findViewById(R.id.rl_share_wechat);mRlShareMicroblog = (RelativeLayout) findViewById(R.id.rl_share_microblog);mRlShareOther = (RelativeLayout) findViewById(R.id.rl_share_other);mRlShareText.setOnClickListener(new ShareText());mRlShareSingleimage.setOnClickListener(new ShareSingleImage());mRlShareMultipleimage.setOnClickListener(new ShareMultipleImage());mRlShareQQ.setOnClickListener(this);mRlShareTencent.setOnClickListener(this);mRlShareWechat.setOnClickListener(this);mRlShareMicroblog.setOnClickListener(this);mRlShareOther.setOnClickListener(this);}//分享文字至所有第三方软件public class ShareText implements View.OnClickListener {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setAction(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_TEXT, "这里是分享内容");intent.setType("text/plain");//设置分享列表的标题,并且每次都显示分享列表startActivity(Intent.createChooser(intent, "分享到"));}}//分享单张图片至所有第三方软件public class ShareSingleImage implements View.OnClickListener {@Overridepublic void onClick(View v) {String imagePath = Environment.getExternalStorageDirectory() + File.separator + "13e277bb0b9c2e3ab90229463357bf40.jpg";//由文件得到uriUri imageUri = Uri.fromFile(new File(imagePath));Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);shareIntent.setType("image/*");startActivity(Intent.createChooser(shareIntent, "分享到"));}}//分享多张图片至所有第三方软件public class ShareMultipleImage implements View.OnClickListener {@Overridepublic void onClick(View v) {ArrayList<Uri> uriList = new ArrayList<>();String path = Environment.getExternalStorageDirectory() + File.separator;uriList.add(Uri.fromFile(new File(path+"13e277bb0b9c2e3ab90229463357bf40.jpg")));uriList.add(Uri.fromFile(new File(path+"869895e73ddd710e8a132afb37461bf0.jpg")));uriList.add(Uri.fromFile(new File(path+"4753fc4cd47aa1833c70df4c08f4b7fa.jpg")));uriList.add(Uri.fromFile(new File(path+"355ee87cf0ff612331a790f31b3ad113.jpg")));uriList.add(Uri.fromFile(new File(path+"ce61ad4d44e3099d87040f38faabbf56.jpg")));Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList);shareIntent.setType("image/*");startActivity(Intent.createChooser(shareIntent, "分享到"));}}@Overridepublic void onClick(View v) {String pakName = "";Intent intent = new Intent(Intent.ACTION_SEND); // 启动分享发送的属性intent.setType("text/plain"); // 分享发送的数据类型switch (v.getId()) {case R.id.rl_share_qq:pakName = "com.qzone"; //qq空间break;case R.id.rl_share_qqtencent:pakName = "com.tencent.WBlog"; //腾讯微博break;case R.id.rl_share_wechat:pakName = "com.tencent.mm"; //微信break;case R.id.rl_share_microblog:pakName = "com.sina.weibo"; //微博break;case R.id.rl_share_other:break;default:break;}intent.setPackage(pakName);intent.putExtra(Intent.EXTRA_TEXT, "这里是分享内容"); // 分享的内容this.startActivity(Intent.createChooser(intent, ""));// 目标应用选择对话框的标题;}
}
由于分享功能是使用隐式调用Activtiy实现的,则需在响应的Activity中声明intent-filter,在对应的activity的xml里加上
<intent-filter><action android:name="android.intent.action.SEND" /><category android:name="android.intent.category.DEFAULT" />
</intent-filter>
这上面的代码可以分享图片,文本内容到手机安装的能分享的软件,包括QQ,微信。但是,如果分享视频时,会发现无法分享到QQ里,这是因为视频只能单个分享,一次只能分享一个视频,所以需要修改代码。
把分享图片的
Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList); shareIntent.setType("image/*"); startActivity(Intent.createChooser(shareIntent, "分享到"));
修改为
Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); //分享视频只能单个分享 shareIntent.putExtra(Intent.EXTRA_STREAM, “视频的URI”); shareIntent.setType("audio/*"); startActivity(Intent.createChooser(shareIntent, "分享到"));
源码下载:http://download.csdn.net/detail/bzlj2912009596/9876105
android 分享图片和视频就讲完了。
就这么简单。
android 分享图片和视频相关推荐
- Android原生分享图片和视频
前言 由于之前的分享的平台都是固定的:微信,微信朋友圈,QQ,微博- 分享的做法就是,用列表分别显示各个平台,然后点击某个选项跳转到对应平台 代码如下: private void share(File ...
- Android 分享图片到WhatsApp,Messenger,Facebook
Android 分享图片到WhatsApp,Messenger,Facebook 简单实现通过Intent 跳转传参数 简单实现通过Intent 跳转传参数 Intent shareIntent = ...
- unity调用 Android 分享图片文字 方法 不需要第三方sdk 兼容android7.0+
直接说方法把,在Android Studio中 新建一个工程,新建时选择Add No Activity,包名跟unity中设置的一样比如这里用 come.demo.share 在res目录下新建个文件 ...
- android分享图片到qq,Android 如何实现本地图片直接分享到微信、来往、QQ等,直接分享...
在不使用第三方的SDK情况下,如何在Android上直接分享图片到指定的应用上,例如分享到微信.来往.QQ等.具体实现见贴出的代码.实现后才发现好简单的 例如:要在app中直接分享图片到微信.来往等, ...
- android 静态图片gif视频轮流播放
最近做了一个关于广告视频的项目,双屏异显,并且在数千台广告屏上运行这个APP,而且要同步,核心的功能是图片gif视频轮流播放的功能,在此做个总结: 1.静态图片gif视频轮播: 我用的都是原生的插件, ...
- android 录制图片、视频插入系统相册视频相册列表中,视频mediaPlayer静音和mediaPlayer恢复静音,SurfaceView+mediaplayer视频播放,自定义任意view显示
video_duration = mediaPlayer.getDuration() / 1000 video_duration需要在prepare()监听中进行初始化 通知系统,将图片.视频更新到系 ...
- Android 实现图片、视频即时更新到相册
照片更新到相册: 用此方法即可.一行代码. sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_ ...
- Android 调用系统分享图片、视频等文件
目录 序言 打开文件管理器 分享操作 文件Uri转化为String 序言 一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf.doc.ppt等类型时,umeng就不能满足 ...
- android分享图片到qq,Android实现截图分享qq,微信
Android实现截图分享qq,微信 立即下载 金额: 3 元 支付方式: 友情提醒:源码购买后不支持退换货 立即支付 发布时间:2018-05-23 概述 android上封装工具类,一行实现截屏分 ...
最新文章
- python调用sklearn中朴素贝叶斯踩坑
- 解决Redis缓存雪崩、穿透、并发、预热、击穿、热点Key等问题
- java获取列族的列_在cassandra-cli中如何获取表中的所有列名以及如何在java中使用hector获取它?...
- 用tomcat6修改java内存_Tomcat 服务器内存修改
- resnet34\resnet101网络结构图
- python的空语句_Python 函数返回空值
- 计算机主机hdmi接口是什么意思,hdmi接口有什么用,教您电脑hdmi接口有什么用
- raid硬盘速度测试软件,RAID 0模式下固态硬盘性能测试
- 苹果手机上网速度慢_手机为什么下载速度很慢(揭晓手机下载速度慢的原因)...
- 【技术贴】关于IE主页被篡改、假IE的根治方法。。。
- 翼支付门户CAS单点登录相关介绍
- win11本地用户和组找不到的解决办法
- 命题, 定理,引理和推论的定义
- 如何使用 CSS flex box 和 Javascript 设计棋盘
- js 地理位置查询经纬度定位地图
- 存储网络RDMA:NVME over RDMA
- 分布式技术-Zookeeper
- 批量替换文本中的多组字符串
- 将samba加入到windows域
- 排序算法(不定时更新~)
热门文章
- java 面向对象 — 继承
- Hadoop学习笔记—11.MapReduce中的排序和分组
- (一)初识java ---我的第一个java程序
- linux -- supervitord怎么杀出主进程派生出来的子进程。
- TFBOY 养成记 一些比较好多文章。
- Front End Developer Questions 前端开发人员问题(三)JavaScript部分
- STM32F0xx_SPI读写(Flash)配置详细过程
- S3C2440时钟系统详解
- 【转】Maya Mel – Search String in String
- asp.net 返回超时的解决方法