把文本消息或图片、网址分享给QQ,微信,短信

项目中碰到了需要把个人信息以文本的方式分享给微信,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);

猜你喜欢

转载自blog.csdn.net/android123it/article/details/78285803