Самым важным, как обычно, является Facebook, и, как обычно, он не работает.
Код: Выделить всё
Intent shareIntent = new Intent(Intent.ACTION_SEND);
Uri picUri = Uri.parse("http://someserver.com/somepic.jpg");
shareIntent.setType("image/jpeg");
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, someString);
startActivity(Intent.createChooser(shareIntent, "some text..."));
Я также пробовал Flicker и Mail, и они все не работают.
Затем я попытался записать изображение в локальный файл и отправить оттуда, тоже не получилось:
Код: Выделить всё
Drawable dr = ImageLoader.getDrawable(url);
Bitmap bmp = ((BitmapDrawable)dr).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 80, stream);
byte[] data = stream.toByteArray();
FileOutputStream ostream;
try {
ostream = this.openFileOutput("pic.jpeg", Context.MODE_WORLD_READABLE);
ostream.write(data);
} catch (Exception e) {
e.printStackTrace();
}
Uri picUri = Uri.fromFile(new File("pic.jpeg"));
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
Моей последней попыткой было просто отправить HTML-строку с изображением, включенным в тег img. Но Facebook, похоже, не поддерживает тип «text/html», поэтому это не вариант.
Я уверен, что для этого потребуется всего несколько строк кода. Но какие?
редактировать
Я забыл строку
Код: Выделить всё
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
Слишком долго не спал...
Подробнее здесь: https://stackoverflow.com/questions/997 ... ook-and-co
Мобильная версия