Androidアプリで画像とテキストを共有する方法

Androidアプリで画像とテキストを共有する方法を以下に記載します。

下記のサンプルでは、ShareCompat を使用して画像とテキストを共有しています。

画像を共有する場合は画像の URIを指定する必要があり、URIの取得方法については後日別の記事で解説します。

サンプルソースコード

テキストの共有

1
2
3
4
5
6
7
8
public void shareText(Activity activity, String chooserTitle, String subject, String text) {
    ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);
    builder.setChooserTitle(chooserTitle);
    builder.setSubject(subject);
    builder.setText(text);
    builder.setType("text/plain");
    builder.startChooser();
}
1
shareText(MainActivity.this, "共有枠のタイトル", "共有タイトル", "共有テキスト");

画像の共有

1
2
3
4
5
6
7
8
public void shareImage(Activity activity, String chooserTitle, String subject, Uri uri) {
    ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);
    builder.setChooserTitle(chooserTitle);
    builder.setSubject(subject);
    builder.setStream(uri);
    builder.setType("image/jpeg");
    builder.startChooser();
}
1
shareImage(MainActivity.this, "共有枠のタイトル", "共有タイトル", ビットマップ画像のURI);

画像とテキストの共有

1
2
3
4
5
6
7
8
9
public void shareImageAndText(Activity activity, String chooserTitle, String subject, String text, Uri uri) {
    ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity);
    builder.setChooserTitle(chooserTitle);
    builder.setSubject(subject);
    builder.setText(text);
    builder.setStream(uri);
    builder.setType("image/jpeg");
    builder.startChooser();
}
1
shareImageAndText(MainActivity.this, "共有枠のタイトル", "共有タイトル", "共有テキスト", ビットマップ画像のURI);
   このエントリーをはてなブックマークに追加

About

Masaki Hirokawa (@dolice_apps)

デザインエンジニア 廣川政樹の開発ブログ。Objective-Cや Javaなど iPhone/Androidアプリ開発に関する技術情報を掲載しています。

iPhone apps

  • リラックス・ヒーリング(無料)
  • 望みが叶う!引き寄せの法則アプリ(無料)
  • ミステリー - 怖い話や不思議な体験、都市伝説まとめ
  • 浮世絵壁紙 - 美しい日本画ギャラリー(無料)
  • アート壁紙HD(無料)
  • 綺麗な壁紙HD iPhone 7/7 Plus/SE & iPod対応(無料)
  • クールな壁紙HD iPhone 7/7 Plus/SE & iPod対応(無料)

Android apps

  • 浮世絵壁紙 - 美しい日本画ギャラリー
  • 綺麗な高画質壁紙

Objective-C Classes

Tag Cloud

ActionScript(9) ActionScript3(7) Ad(4) Adfurikun(2) AdMob(9) Android(10) Animation(17) AppDelegate(3) ARC(1) ArrayList(1) AVAudioPlayer(4) AVAudioSession(1) AVFoundation(3) Banner(2) Bitmap(1) Camera(4) CGAffineTransform(4) CGBlendMode(2) CGContextRef(1) CGImageRef(1) Classes(44) CLLocationManager(1) ConnectivityManager(1) ContentResolver(1) CoreLocation(2) Delegate(3) Device(7) Display(1) DisplayMetrics(1) Download(101) Facebook(6) Foundation(72) Framework(2) Google Analytics(1) Handler(1) iAd(6) ImageView(1) In-AppPurchase(1) iOS(12) iOS 7(15) iOS 7.1(3) iOS 8(1) iPad(7) iPhone(21) iPhone 6(4) Java(7) JavaScript(2) LINE(4) Localize(1) Magazine(1) MediaStore(1) MFComposeViewController(1) Nend(1) NetworkInfo(1) NSArray(23) NSCalendar(3) NSData(2) NSDate(7) NSDateComponents(2) NSDateFormatter(2) NSDictionary(12) NSEnumerator(1) NSIndexSet(1) NSInteger(6) NSMutableArray(17) NSMutableDictionary(5) NSMutableOrderedSet(7) NSMutableString(4) NSMutableURLRequest(1) NSNotificationCenter(1) NSNumber(1) NSObject(1) NSOrderedSet(7) NSRange(2) NSSelectorFromString(1) NSSet(6) NSString(19) NSTimer(4) NSTimeZone(1) NSURL(7) NSURLConnection(1) NSURLRequest(2) NSUserDefaults(7) NSXMLParser(2) Objective-C(222) PHP(1) Products(14) QuartzCore(3) RSS(2) Runnable(1) Sample(51) Screensaver(9) SDK(2) ShareCompat(1) Social(10) StoreKit(1) Twitter(6) UIAccelerometer(3) UIActionSheet(1) UIActivityIndicator(1) UIActivityIndicatorView(3) UIActivityViewController(1) UIAlertView(5) UIApplication(7) UIButton(4) UIColor(3) UIDatePicker(5) UIDevice(6) UIDeviceOrientation(1) UIEvent(6) UIImage(15) UIImagePickerController(4) UIImageView(12) UIKit(58) UILabel(7) UINavigationBar(4) UINavigationItem(1) UIPasteboard(4) UIScreen(1) UIScrollBar(1) UIScrollView(1) UISlider(3) UIStoryboardSegue(3) UISwitch(1) UITabBar(3) UITableView(4) UITextField(2) UIView(11) UIViewAnimationTransition(1) UIViewController(4) UIWebView(5) WindowManager(1) Xcode(48) Xcode 5(8) Xcode 5.1(2)