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 ); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。