Я зря трачу много времени, пытаясь получить совместное использование простого jpeg-изображения, работающего через совместное использование Intent.share picture через Intent (Facebook и co)
Самый важный, как обычно, - это 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..."));
Выбрав хороший выбор, Facebook также открывает и заставляет меня войти в систему, но потом он говорит мне, что обновление не удалось. Я также пробовал 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);
в первом фрагменте кода. Он был там, когда я пытался, тоже не работал. Не спать слишком долго ...
Вы когда-нибудь находили разумный способ поделиться фотографией с URL? – cimnine
Hi didi_X8, Вы нашли решение этой проблемы? Как я застрял в этом тоже – Elshaer