android调用系统的分享功能实现分享到短信,邮件和其他

之前写过一篇文章利用友盟等第三方实现分享到微信,微博和豆瓣等第三方社交站点.本次我们利用系统自带的分享功能去做,虽然简单,但对于以前类似友盟等第三方社交分享组件还没做的成熟的时候,也是一种好的选择.所以这里直接上代码对系统分享做个记录,代码有必要注释,所以就不做啥说明了:

/**
    * 弹出分享列表
    */
   private void showShareDialog(){
		 AlertDialog.Builder builder = new AlertDialog.Builder(Thread_Content_Activity.this);
		 builder.setTitle("选择分享类型");
		 builder.setItems(new String[]{"邮件","短信","其他"}, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				dialog.dismiss();
				switch (which) {
				case 0:	//邮件
					sendMail("http://www.google.com.hk/");
					break;

				case 1:	//短信
					sendSMS("http://www.google.com.hk/");
					break;

				case 3:	//调用系统分享
					Intent intent=new Intent(Intent.ACTION_SEND);
					intent.setType("text/plain");
					intent.putExtra(Intent.EXTRA_SUBJECT,"分享");
					intent.putExtra(Intent.EXTRA_TEXT, "我正在浏览这个,觉得真不错,推荐给你哦~ 地址:"+"http://www.google.com.hk/");
					intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
					startActivity(Intent.createChooser(intent, "share"));
					break;

				default:
					break;
				}

			}
		});
		builder.setNegativeButton( "取消" ,  new  DialogInterface.OnClickListener() {
           @Override
           public   void  onClick(DialogInterface dialog,  int  which) {
              dialog.dismiss();
          }
      });
      builder.create().show();
	}

   /**
    * 发送邮件
    * @param emailBody
    */
   private void sendMail(String emailUrl){
		Intent email = new Intent(android.content.Intent.ACTION_SEND);
		email.setType("plain/text");

		String emailBody = "我正在浏览这个,觉得真不错,推荐给你哦~ 地址:" + emailUrl;
		//邮件主题
		email.putExtra(android.content.Intent.EXTRA_SUBJECT, subjectStr);
		//邮件内容
		email.putExtra(android.content.Intent.EXTRA_TEXT, emailBody);  

		startActivityForResult(Intent.createChooser(email,  "请选择邮件发送内容" ), 1001 );
	}

   /**
    * 发短信
    */
   private   void  sendSMS(String webUrl){
	  String smsBody = "我正在浏览这个,觉得真不错,推荐给你哦~ 地址:" + webUrl;
	  Uri smsToUri = Uri.parse( "smsto:" );
	  Intent sendIntent =  new  Intent(Intent.ACTION_VIEW, smsToUri);
	   //sendIntent.putExtra("address", "123456"); // 电话号码,这行去掉的话,默认就没有电话
	  //短信内容
	  sendIntent.putExtra( "sms_body", smsBody);
	  sendIntent.setType( "vnd.android-dir/mms-sms" );
	  startActivityForResult(sendIntent, 1002 );
   }  
时间: 2024-12-12 05:37:54

android调用系统的分享功能实现分享到短信,邮件和其他的相关文章

Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博

原文:Android 调用系统分享文字.图片.文件,可直达微信.朋友圈.QQ.QQ空间.微博 兼容SDK 18以上的系统,直接调用系统分享功能,分享文本.图片.文件到第三方APP,如:微信.QQ.微博等 因为偷懒,可直达微信.朋友圈.QQ.QQ空间.微博的分享仅写了图片分享的,其他的文本.文件分享不常用到,就不写了. 具体图片分享区分单张图片分享和多张图片分享,详情请看代码: import android.content.ComponentName; import android.content

c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等

如果一个后端开发掌握了微信开发,甚至有微信开发上线项目,这在换工作的时候 还是有竞争力的. 微信开发的资料很多,但是用asp.net c#进行微信开发好像比较少,或者资料不够完整. 使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友,这里基本上不涉及后端语言. 1.首先要绑定域名,当然域名得备案. 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 说明:设置此安全域名目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这

Android调用系统相机、自定义相机、处理大图片

Android调用系统相机和自定义相机实例 本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显示出来,该例子也会涉及到Android加载大图片时候的处理(避免OOM),还有简要提一下有些人SurfaceView出现黑屏的原因. Android应用拍照的两种方式,下面为两种形式的Demo展示出来的效果.    知识点: 一.调用系统自带的相机应用 二.自定义我们自己的拍照界面 三.关于计算机解析图片原理(如何正确加载图片到Android应用中) 所需

Android 调用系统自带应用

Intent跳转到系统应用中的拨号界面.联系人界面.短信界面及其他 现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent.setAction("android.intent.action.CALL_BUTTON"); startActivity(intent); 和 Uri uri = Uri.parse("tel:xxxxxx&q

Android 调用系统相机以及相册源码

Android 调用系统相机拍照.以及相册.完成之后图片是上传到app上.前面的功能已经测试过了.没有上传到服务器,因为我没服务器测试.但项目里面有个类可以参考上传图片到服务器,我就没测试了.接下来看代码,虽然注释写得少,但其作用看英文单词意思,又在或是查看调用. 项目源码下载地址:http://download.csdn.net/detail/qq_16064871/8585169 转载请注明出处: http://blog.csdn.net/qq_16064871 package com.ex

调用系统相机,相册功能

一开始的思路是这一块的功能单独出去;这样处理又会碰见很多问题. 还是集成在Activity中可能效果更好些, 而且三星的手机调用系统相机会导致调用的Activity会重启生命周期,如果是在fragment中调用的,会碰见更多的问题,做外包的伤不起,想深入下这个问题都没时间,暂时记录下在Activity中解决问题的方法,方便后面使用时直接拿来用. 比如在Activity中点击某个按钮,弹出一个对话框,选择拍照还是选择图片 mButton.setOnClickListener(new OnClick

安卓开发分享功能,分享到facebook网页上不显示图片的问题

最近公司要上分享功能,分享的地方包括微信,qq,facebook,功能完成后,发现分享到facebook的内容只有文字可以显示,图片不显示,其中图片存储是使用七牛的服务器:而分享到微信和qq都可以正常显示,经过不断的询问和查找,终于找到了疑似原因,我们怀疑是由于我们的服务器的地址是https协议的,而七牛图片的地址是http协议,由于协议不一致造成的图片无法加载,所以就开始验证吧! 首先,我们又搭建了一个http的服务器,数据还是之前的数据,结果可以在facebook上访问,这样基本就验证了我们

android 调用系统相机获取图片、调用系统相册获取图片,并对图片进行截取

打开系统相册获取图片并截取,代码相对简单 1 Intent intent = new Intent(Intent.ACTION_GET_CONTENT,null); 2 intent.setType("image/*"); 3 intent.putExtra("crop", "true"); 4 5 //WIDTH 和 HEIGHT指的是截取框的宽高比例,如设WIDTH = 1,HEIGHT = 1,截取框就为正方形 6 intent.putEx

android调用系统相机拍照并保存在本地

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import java.util.Locale; import android.annotation.SuppressLint; import android.app.Activity; import an

Android调用系统自带的文件管理器进行文件选择

http://blog.csdn.net/zqchn/article/details/8770913的补充 FileUtils文件 public class FileUtils {     public static String getPath(Context context, Uri uri) {         if ("content".equalsIgnoreCase(uri.getScheme())) {             String[] projection =