android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)

效果如图:

0818b9ca8b590ca3270a3433284dd417.png

神一样的代码:

针对image代码如下:

Intentshare=newIntent(Intent.ACTION_SEND);

share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));//此处一定要用Uri.fromFile(file),其中file为File类型,否则附件无法发送成功。

share.setType("image/jpeg");

startActivity(Intent.createChooser(share,"Share Image"));

针对 text代码如下:

Intentshare=newIntent(Intent.ACTION_SEND);

share.setType("text/plain");

share.putExtra(Intent.EXTRA_TEXT,"I'm being sent!!");

startActivity(Intent.createChooser(share,"Share Text"));

//以下代码为我在应用中使用的

Intent share = new Intent(Intent.ACTION_SEND);

share.putExtra(Intent.EXTRA_STREAM,

Uri.fromFile(file));

share.setType("*/*");//此处可发送多种文件

startActivity(Intent.createChooser(share, "Share"));

//共享多个文件代码如下

ArrayList uris = new ArrayList();

for(int i = 0; i < size; i++){

File file=(File)list.get(selectedItemIndexes[i]).get("file");

mimeType = getMIMEType(file);

Uri u = Uri.fromFile(file);

uris.add(u);

}

boolean multiple = uris.size() > 1;

Intent intent = new Intent(multiple ? android.content.Intent.ACTION_SEND_MULTIPLE

: android.content.Intent.ACTION_SEND);

if (multiple) {

intent.setType("*/*");

intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

} else {

intent.setType(mimeType);

intent.putExtra(Intent.EXTRA_STREAM, uris.get(0));

}

startActivity(Intent.createChooser(intent, "Share"));

如何在Android系统中发送带附件的电子邮件呢? 其实通过Intent可以很方便的发送Email,只需要短短10行代码就可以处理,这里Android开发网就以在sdcard上的android123.cwj文件为例,通过Intent来发送电子邮件。完整代码如下

File file = new File("\sdcard\android123.cwj"); //附件文件地址

Intent intent = new Intent(Intent.ACTION_SEND);

intent.putExtra("subject", file.getName()); //

intent.putExtra("body", "android123 - email sender"); //正文

intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); //添加附件,附件为file对象

if (file.getName().endsWith(".gz")) {

intent.setType("application/x-gzip"); //如果是gz使用gzip的mime

} else if (file.getName().endsWith(".txt")) {

intent.setType("text/plain"); //纯文本则用text/plain的mime

} else {

intent.setType("application/octet-stream"); //其他的均使用流当做二进制数据来发送

}

startActivity(intent); //调用系统的mail客户端进行发送

android2.3中,转发带附件的邮件时,新建的邮件中没有相应的附件。查看源码发现,确实没有相关实现,但貌似有实现的源码被注释掉了。求大体思路~~~~~

已解决 与大家分享一下: /*******转发代码********/   if (!loadAttachments(message, 0)) {   mHandler.sendEmptyMessage(MSG_SKIPPED_ATTACHMENTS);   }   private boolean loadAttachments(Message message, int depth){   try{ Attachment[] attachments = Attachment.restoreAttachmentsWithMessageId(this, message.mId); for(final Attachment attachment:attachments){ mHandler.post(new Runnable() {   public void run() {   Uri aUri = Uri.parse(attachment.mContentUri);   addAttachment(aUri);   }   }); } return true;   }catch(Exception ex){   ex.printStackTrace();   return false;   }   }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 4.4.2截屏方法,android4.4.2 使用 uiautoviewer 截屏报错

1、正常启动后&#xff0c;使用 uiautomatorviewer 没有问题2、由于要使用 uiautomator&#xff0c;每次启动 uiautomator 服务后再使用 uiautomatorviewer 就会图片错误&#xff0c;启动 uiautomator 服务的步骤如下&#xff1a;1、Download jar files from uiautomator jsonr…

javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX

javaoneJavaOne 2015看到了Project Jigsaw团队关于Java 9中的模块化的一系列讨论 。它们都是非常有趣的&#xff0c;并且充满了宝贵的信息&#xff0c;我敦促每个Java开发人员都注意它们。 除此之外&#xff0c;我想给社区一种搜索和引用它们的方法&#xff0c;因此我在这里总…

kafka spark_您在2016年会做什么? Apache Spark,Kafka,Drill等

kafka spark让我们玩得开心。 这是新的一年的开始-我们正处于新事物的门槛上-因此让我们期待您在2016年可能会做的事情。现在我知道做出预测的风险&#xff0c;尤其是有记录的预测&#xff0c;但是我很高兴您能在一年后回访&#xff0c;看看我对2016年的预测是如何完成的。 您…

android ini文件格式,ini是什么格式的文件?ini文件怎么操作?

类型&#xff1a;Android平台大小&#xff1a;622KB语言&#xff1a;中文 评分&#xff1a;5.0标签&#xff1a;立即下载ini文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。自定义一个文件&#xff0c;会成一个deskt…

华为p6电信版 android 4.5,华为P6电信版系统应用apk补全教程 完整EMUI

现在要说的是华为P6电信版的系统应用apk补全教程&#xff0c;给你一个非阉割版的完整EMUI系统。大家应该都知道&#xff0c;电信定制版由于华为系统服务与电信的定制APP功能重叠&#xff0c;语音助手、云同步、云端备份、手机找回等系统应用apk全被“阉割”掉了&#xff0c;这几…

黑马ee在职进阶视频_进阶– Java EE 7前端5强

黑马ee在职进阶视频系列继续。 在初步概述和Arjan关于最重要的后端功能的文章之后 &#xff0c;我现在非常高兴让Ed Burns&#xff08; edburns &#xff09;使用他最喜欢的Java EE 7前端功能完成本系列。 感谢Markus Eisele让我有机会在他非常受欢迎的博客上发表帖子。 我和M…

如何构建股票ChatGPT查询全球股票市场以及常用Prompt

Blog&#xff1a;4 ways to use ChatGPT Stock Chatbot for stock analysis of Global Stock Markets NASDAQ NYSE LSE HKEX TSE NSE HANGHAI SHENZHEN 地址&#xff1a;http://deepnlp.org/blog/chatgpt-stock-global-market 全球股票市场&#xff1a;NASDAQ 纳斯达克, NYSE…

jvm高并发_JVM上的高并发HTTP客户端

jvm高并发HTTP可能是最流行的应用程序级别协议&#xff0c;并且有许多库在网络I / O之上实现它&#xff0c;这是常规I / O的一种特殊&#xff08;面向流&#xff09;情况。 由于所有I / O都有很多共同点1 &#xff0c;所以让我们开始对其进行一些讨论。 我将集中讨论具有大量并…

jmeter 采样器作用_实施自定义JMeter采样器

jmeter 采样器作用随着我们采用不同的体系结构和实现方式&#xff0c;对通用压力测试工具的需求不断增长。 关于负载测试&#xff0c; Apache Jmeter是最知名的工具之一。 它支持许多协议&#xff0c;例如ftp http tcp&#xff0c;并且可以轻松地用于分布式测试。 Jmeter还为…

xp系统 javafx_使用JavaFX构建React系统

xp系统 javafxJavaFX是用于在Java中构建图形应用程序的新标准库&#xff0c;但是许多程序员仍然对Swing甚至&#xff08;高音&#xff09;AWT感到困惑。 在Java诞生20年来&#xff0c;发生了很多事情。 两年前&#xff0c;当我开始研究Speedment UI的JavaFX库时&#xff0c;我发…

html手机端图片点击放大缩小快捷键,PS放大缩小图片的快捷键是什么?PS放大缩小图片的操作技巧...

PS放大缩小图片的快捷键是什么&#xff1f;PS怎么放大缩小图片&#xff1f;使用PS处理图片可是个精细的活儿&#xff0c;为了让图片处理得更加完美&#xff0c;我们经常需要将图片放大来处理&#xff0c;修改好之后又要缩小图片看下整体效果&#xff0c;这样来回切换其实挺麻烦…

webstorm html代码提示设置,Webstorm设置代码提示

下载路径&#xff1a; https://github.com/virtoolswebplayer/ReactNative-LiveTemplate本插件可以配合Webstorm设置代码提示。Mac下安装Webstorm2016.1为例安装路径在终端&#xff1a;$ cd ~/Library/Preferences/$ ls找到Webstorm版本$ open WebStorm2016.1先将ReactNative.x…

arcgis adf数据_使用ADF列表视图的主从数据

arcgis adf数据从UI角度来看&#xff0c;最近ADF Faces 表组件不再被认为很酷。 对于显示数据集合&#xff0c; 列表视图今天应该很酷。 这并不意味着我们根本不应该使用af&#xff1a;table 。 在某些情况下&#xff08;经常是:)&#xff09;&#xff0c;表比列表视图更适合。…

javafx 内存占用_JavaFX:TouchGesture内存泄漏?

javafx 内存占用在我的一个项目中&#xff0c;最近几天我在与内存泄漏作斗争&#xff08;是……“耦合”&#xff09;&#xff0c;我得出的结论是可能存在与触摸/滚动手势有关的问题。 在下面的示例中&#xff0c;我有两个按钮。 第一个创建具有一千行的列表视图&#xff0c;第…

cucumber jvm_用Cucumber JVM编写BDD测试

cucumber jvmCucumber JVM是编写BDD测试的出色工具。在本文中&#xff0c;我想对Cucumber JVM的BDD进行介绍。 让我们开始吧… 什么是BDD&#xff1f; 简而言之&#xff0c;BDD试图解决“通过示例理解需求”的问题 BDD工具 有许多可用于BDD的工具&#xff0c;有趣的是&#…

模拟模型学习 几何布朗运动_Java的几何布朗运动

模拟模型学习 几何布朗运动维纳过程是一个连续时间的随机过程&#xff0c;以纪念诺伯特维纳。 通常用于用随机成分表示噪音或财务状况。 可以计算几何布朗运动以可视化某些界限&#xff08;以分位数表示&#xff09;以暗示绝对范围。 为了进行计算&#xff0c;需要以下参数&am…

动态调整线程池_调整线程池的重要性

动态调整线程池无论您是否知道&#xff0c;您的Java Web应用程序很可能都使用线程池来处理传入的请求。 这是许多人忽略的实现细节&#xff0c;但是迟早您需要了解如何使用该池以及如何为您的应用程序正确调整池。 本文旨在说明线程模型&#xff0c;线程池是什么以及正确配置线…

java系统架构师有的特质_Java中特质模式的定义

java系统架构师有的特质在本文中&#xff0c;我将介绍特征的概念&#xff0c;并为您提供一个具体示例&#xff0c;说明如何在Java中使用它们以减少对象设计中的冗余。 我将首先提出一个虚构的案例&#xff0c;其中可以使用特征来减少重复&#xff0c;然后以使用Java 8的特征模式…

tdd java_Java TDD简介–第2部分

tdd java再次问好&#xff01; 在上一篇博客文章中&#xff0c;我在没有紧密引用Java的情况下总体上解释了TDD理论 &#xff0c;但是在这一部分中&#xff0c;我们开始进行TDD实践。 我们的目标是遍历TDD的所有阶段&#xff1a;从需求分析到测试代码的重构。 我们将在具有Java&…

计算机怎么没有桌面文件夹名称大全,你的电脑文件总是找不到?是时候学习文件夹分类整理了...

我们常常说做好办公整理&#xff0c;我们工作起来才更有效率&#xff1b;此处的办公整理不单单是对办公桌整理整齐&#xff0c;电脑里面的文件也需要定期整理&#xff0c;你有没有发现常常找一个文件的时候却总是找不到&#xff1f;那么此时就应该学习文件夹分类整理了&#xf…