下面的方法只能实现普通的文字分享:
1
2
3
4
5
6
7
8
9
10
11
|
private void shareContent() {
Intent share =
new
Intent(android.content.Intent.ACTION_SEND);
share.setType(
"text/plain"
);
String title =
"标题"
;
String extraText=
"给大家介绍一个好网站,www.jcodecraeer.com"
;
share.putExtra(Intent.EXTRA_TEXT, extraText);
if
(title !=
null
) {
share.putExtra(Intent.EXTRA_SUBJECT, title);
}
startActivity(Intent.createChooser(share,
"分享一下"
));
}
|
那如果我想同时分享图片和文字到新浪微博的话,则使用下面的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
private void share(String content, Uri uri){
Intent shareIntent =
new
Intent(Intent.ACTION_SEND);
if
(uri!=
null
){
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.setType(
"image/*"
);
//当用户选择短信时使用sms_body取得文字
shareIntent.putExtra(
"sms_body"
, content);
}
else
{
shareIntent.setType(
"text/plain"
);
}
shareIntent.putExtra(Intent.EXTRA_TEXT, content);
//自定义选择框的标题
startActivity(Intent.createChooser(shareIntent,
"邀请好友"
));
//系统默认标题
}
|
之所以这种方法可以传递图片,是因为shareIntent.setType("image/*"),而 setType("image/*")可以传递文字也可以传递图片;其中图片内容可以由Uri指定,注意需要将图片的url转换成uri。