项目中碰到了需要把个人信息以文本的方式分享给微信,QQ好友,以及手机通讯录的朋友
下面直接贴入代码:
微信和QQ的文本信息分享:
String imgPath=null; Intent intent = new Intent(Intent.ACTION_SEND); //启动分享发送的属性 if (imgPath == null || imgPath.equals("")){ intent.setType("text/plain");//分享发送的数据类型为文本 }else { File f = new File(imgPath); if (f != null && f.exists() && f.isFile()) { intent.setType("image/jpg"); Uri u = Uri.fromFile(f); intent.putExtra(Intent.EXTRA_STREAM, u); } } intent.putExtra(Intent.EXTRA_SUBJECT, "记事"); //分享的主题 intent.putExtra(Intent.EXTRA_TEXT, "日期:2017.10.19"+"\n 标题:我在测试"+"\n 内容:我的测试内容"); //分享的内容 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, "分享"));//目标应用选择对话框的标题
短信的文本信息分享:
Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); //纯文本 intent.putExtra(Intent.EXTRA_SUBJECT, "分享"); startActivity(Intent.createChooser(intent, getTitle()));邮箱的文本分享:
Intent log = new Intent("android.intent.action.SEND"); Object[] arrayOfObject2 = new Object[3]; arrayOfObject2[0] = "nick"; arrayOfObject2[1] = ": "; arrayOfObject2[2] = "content"; String str1 = String.format("@%s%s %s", arrayOfObject2); String str2 = str1 + "什么"; Object[] arrayOfObject1 = new Object[1]; arrayOfObject1[0] = str2; log.putExtra("android.intent.extra.TEXT", getString(R.string.mail_body_text, arrayOfObject1)); log.putExtra("android.intent.extra.SUBJECT", "邮件"); log.setType("application/octet-stream"); startActivity(log);