3

以下代码

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());
4

1 回答 1

1

我有类似的代码。唯一的区别是:

sendImage.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(uriFile));

File uriFile = new File(Environment.getExternalStorageDirectory()+folderName+imageName);
于 2014-08-11T16:20:34.963 回答