AndroidはIntentを使用する.ACTION_SENDは画像と文字の内容を共有する(新浪微博、メールなど)
2665 ワード
次の方法では、通常の文字共有しか実現できません.
1
2
3
4
5
6
7
8
9
10
11
では、画像と文字を同時に共有したい場合は、次の方法を使用します.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
この方法で画像を伝えることができるのはshareIntentのためです.setType(「image/*」)、setType(「image/*」)は文字や画像を渡すことができます.画像の内容はUriで指定できますが、画像のurlをuriに変換する必要があります.
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に変換する必要があります.