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 );  
   }  








你可能感兴趣的:(安卓开发)