MainActivity如下:

package cn.testshare1;
import java.io.File;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* Demo描述:
* Android应用程序之间共享文字和图片
*
* 参考资料:
* http://www.vmeitime.com/post/2012-06-08/40027373105
*/
public class MainActivity extends Activity {
private Button mTextButton;
private Button mPictureButton;
private Button mPicturesButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mTextButton=(Button) findViewById(R.id.shareTextButton);
mTextButton.setOnClickListener(new ClickListenerImpl());
mPictureButton=(Button) findViewById(R.id.sharePicButton);
mPictureButton.setOnClickListener(new ClickListenerImpl());
mPicturesButton=(Button) findViewById(R.id.sharePicsButton);
mPicturesButton.setOnClickListener(new ClickListenerImpl());
} private class ClickListenerImpl implements OnClickListener {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.shareTextButton:
shareText("这是要分享的内容");
break;
case R.id.sharePicButton:
sharePicture();
break;
case R.id.sharePicsButton:
sharePictures();
break; default:
break;
} } } //共享文字
private void shareText(String string) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, string);
intent.setType("text/plain");
Intent.createChooser(intent,"共享文字");
startActivity(intent);
} //共享一张图片
private void sharePicture(){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
File file = new File(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
intent.setType("image/jpeg");
Intent.createChooser(intent, "共享一张图片");
startActivity(intent);
} //共享多张图片
private void sharePictures(){
ArrayList<Uri> picturesUriArrayList=new ArrayList<Uri>(); File pictureFile1=new File
(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
File pictureFile2=new File
(Environment.getExternalStorageDirectory()+File.separator+"test2.png"); Uri pictureUri1=Uri.fromFile(pictureFile1);
Uri pictureUri2=Uri.fromFile(pictureFile2); //不是很好的方式:
//因为某些机型报错
//Uri pictureUri1=Uri.parse("file:///mnt/sdcard/test1.png");
//Uri pictureUri2=Uri.parse("file:///mnt/sdcard/test2.png"); //错误的方式:
//Uri pictureUri1=Uri.parse
//(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
//Uri pictureUri2=Uri.parse
//(Environment.getExternalStorageDirectory()+File.separator+"test2.png"); picturesUriArrayList.add(pictureUri1);
picturesUriArrayList.add(pictureUri2); Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, picturesUriArrayList);
intent.setType("image/jpeg");
Intent.createChooser(intent, "共享多张图片");
startActivity(intent);
} }

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
> <Button
android:id="@+id/shareTextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dip"
android:text="共享文字"
/>
<Button
android:id="@+id/sharePicButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dip"
android:text="共享一张图片"
/>
<Button
android:id="@+id/sharePicsButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="250dip"
android:text="共享多张图片"
/> </RelativeLayout>

Android应用程序之间共享文字和图片(二)的更多相关文章

  1. Android应用程序之间共享文字和图片(一)

    以下为TestReceiveShare1工程 MainActivity如下: package cn.testreceiveshare1; import java.util.ArrayList; imp ...

  2. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6967204 在Android系统中,不同的应用 ...

  3. Android 应用程序之间内容分享详解(二)

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9428613 Android 应用程序之间内容分享详解(一) 之前给大家分享了你开发的应 ...

  4. 程序与程序之间共享对象:MarshalByRefObject

    源自于:http://stackoverflow.com/questions/439173/message-pumps-and-appdomains/442316 程序与程序之间共享对象: Marsh ...

  5. DELPHI编写服务程序总结(在系统服务和桌面程序之间共享内存,在服务中使用COM组件)

    DELPHI编写服务程序总结 一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统 ...

  6. Android 应用程序之间内容分享详解(一)

    一个Andoird应用程序的重要的地方是他们有相互沟通和整合的能力,一个应用程序可以和另一个应用程序交互,接下来我们来看看Android应用之间的内容分享 当你构建Intent的时候,必须要指定Int ...

  7. Android应用程序与SurfaceFlinger服务之间的共享UI元数据(SharedClient)的创建过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7867340 在前面一篇文章中,我们分析了And ...

  8. Android应用程序组件Content Provider的共享数据更新通知机制分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6985171 在Android系统中,应用程序组 ...

  9. iOS应用程序间共享数据

    我们知道iOS由于沙盒的存在,应用程序不能越过自己的区域去访问别的存储空间的内容,不过可能有许多场景我们需要在应用程序之间共享数据,比如多个应用共用用户名密码进行登录等.虽然我们不能直接通过文件系统来 ...

随机推荐

  1. JPush 极光推送 消息推送 实例

    简介 官网:https://www.jpush.cn/ 极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度 ...

  2. Linux基础知识之 系统启动流程

    [1]Linux启动的几个主要阶段 启动流程示意图

  3. C#中的序列化与反序列化

    眼看XX鸟的课程关于C#的知识点就要学完了,翻看网络中流传的教程还是发现了一个课程中没有讲到的知识点:序列化与反序列化 无奈还是了解一下并操作一番,以备后用吧 介绍:就是将对象信息转化为二进制信息以便 ...

  4. Rolling cURL: PHP并发最佳实践

    Rolling cURL: PHP并发最佳实践 在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, ...

  5. c - 2/1, 3/2, 5/3, 8/5, 13/8...前20项的和

    double pres(const int n) { ; //分子. ; //分母. ; double tmp; ; i <= n; i++) { sum += (numerator / den ...

  6. JQuery 操作DOM

    DOM(Document Object Model—文档对象模型):一种与浏览器, 平台, 语言无关的接口, 使用该接口可以轻松地访问页面中所有的标准组件DOM 操作的分类:    DOM Core: ...

  7. 堆/栈的比较 以及 malloc/new动态内存的开辟

    堆与栈的比较:1.申请方式(1)栈(satck):由系统自动分配.(2)堆(heap):需程序员自己申请(c:调用malloc,realloc,calloc申请 free 来释放),并指明大小,并由程 ...

  8. 删除所有ecshop版权和logo

    前面我们已经讲过如何删除ecshop的版权,但是还有很多人不会,今天就详细的讲下如何删除所有ecshop版权和logo 前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ...

  9. The Primo ScholarRank Technology: Bringing the Most Relevant Results to the Top of the List

    By Tamar Sadeh, Director of Marketing In today’s world, users’ expectations for a quick and easy sea ...

  10. thinkphp 开发的获取用户信息

    <?php namespace Home\Controller; use Think\Controller; use Com\Wechat; use Com\WechatAuth; class ...