Изображение не распознается - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть следующий код:

FileOutputStream out = null;

try {
out = new FileOutputStream("/sdcard/tmp/i.jpg");
b.compress(Bitmap.CompressFormat.JPEG, 90, out);
Toast.makeText(getApplicationContext(), "Succeded", Toast.LENGTH_LONG).show();
} catch (Exception e) {
 Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_LONG).show();
}

Intent share = new Intent(Intent.ACTION_SEND);

share.setType("image/jpeg");    

share.putExtra(Intent.EXTRA_STREAM, Uri.parse("/sdcard/tmp/i.jpg"));

startActivity(Intent.createChooser(share, "Share image"));

Когда он вызывается, все работает правильно.Файл сохранен, и он появляется в окне выбора.но как только вы добираетесь до выбранной вами деятельности, все они выскакивают сообщение о том, что я не могу добавить это изображениеЗа исключением GMail, работает нормально.Так что же мне делать, чтобы это исправить?

1 Ответ

1 голос
/ 20 ноября 2010

Я не вижу кода для закрытия FileOutputStream. Может быть, в этом причина проблемы? Попробуйте позвонить out.close() после сохранения изображения.

UPDATE:

Также попробуйте использовать полный путь к изображению, то есть попробуйте сделать что-то вроде этого:

share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/tmp/i.jpg"));
...