Я пытаюсь отправить MMS с изображением, которое я сохранил на 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);
}};
private static final String FILENAME = "data.pic";
. Я предлагаю вам использоватьprivate static final String FILENAME = "data.jpeg";
Так что это либо"data.jpeg"
, либо"data.png"
. - person user370305   schedule 24.11.2012