次のコード
final Intent sendImage = new Intent(Intent.ACTION_SEND);
sendImage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendImage.putExtra(Intent.EXTRA_STREAM, theUri);
sendImage.setType("image/png");
startActivity(Intent.createChooser(sendImage, "Send Image using "));
任意のアプリ (例: Dropbox、Gmail、通常のメッセージング/テキスト メッセージ、Kik) を使用して画像を送信できますが、Facebook Messenger アプリは使用できません。
写真の送信に使用するアプリとして Facebook Messenger アプリを選択するたびに、「申し訳ありませんが、Messenger は現在、このファイル タイプを処理できません」という例外が発生します。
Uri はこのメソッドから取得されます
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File imageFile = new File(path, "Yogamoji!" + ".png");
FileOutputStream fileOutPutStream = new FileOutputStream(imageFile);
BitmapFactory.decodeStream(theAssets.open("emojis/" + fileName)).
compress(Bitmap.CompressFormat.PNG, 100, fileOutPutStream);
fileOutPutStream.flush();
fileOutPutStream.close();
return Uri.parse("file://" + imageFile.getAbsolutePath());