我尝试发送带有已保存到 SD 卡的图片的彩信,并且在打开消息服务时,我收到“抱歉,您无法将此图片添加到您的消息中”的声明,并且它没有附加文件。我尝试将文件解析为 uri,尝试将文件直接传递到 MMS 意图中,以及其他一些事情。我不确定我缺少什么,我很确定它正在保存它,因为我可以在文件查看器中看到该文件。我是否必须通过扫描将图像提供给媒体商店(最好不要将其放入图片库),是否必须先打开文件才能将其传入?关于我应该做什么的一点方向将不胜感激。
我的档案
private static final String FILENAME = "data.pic";
File dataFile = new File(Environment.getExternalStorageDirectory(), FILENAME);
保存图像
// Selected image id
int position = data.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ChosenImageView.setImageResource(imageAdapter.mThumbIds[position]);
Resources res = getResources();
Drawable drawable = res.getDrawable(imageAdapter.mThumbIds[position]);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] bitmapdata = stream.toByteArray();
try {
File file = new File(dataFile, FILENAME);
file.mkdirs();
FileOutputStream fos = new FileOutputStream(file);
fos.write(bitmapdata);
fos.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我想附上它的地方和我目前的尝试
// Create a new MMS intent
Intent mmsIntent = new Intent(Intent.ACTION_SEND);
mmsIntent.putExtra("sms_body", "I sent a pic to you!");
mmsIntent.putExtra("address", txt1);
mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(FILENAME)));
mmsIntent.setType("image/png");
startActivity(mmsIntent);
}};