Поделиться несколькими изображениями URL для другого приложения - PullRequest
0 голосов
/ 01 февраля 2020

Я получаю URL-адреса изображений с сервера. Теперь я хочу поделиться этими URL-адресами с другим приложением, но в нем говорится:

Формат файла не поддерживается

Вот мой код:

private fun shareImages(urls:List<String>?) {
    var listOfImageUri = ArrayList<Uri>()
    for (i in urls!!.indices) {
        listOfImageUri.add( Uri.parse(urls[i].url))
    }

    val shareIntent: Intent = Intent().apply {
        action = Intent.ACTION_SEND_MULTIPLE
        putParcelableArrayListExtra(Intent.EXTRA_STREAM, listOfImageUri)
        type = "image/*"
        flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
    }
    try {
        startActivity(Intent.createChooser(shareIntent, "Share Via:"))
    } catch (e: ActivityNotFoundException) {
        Toast.makeText(baseActivity, "No App Available", Toast.LENGTH_SHORT).show()
    }

}

Ссылка, для которой я пробовал: обмен несколькими изображениями Android Обмен несколькими изображениями с другими приложениями

Примечание: в процессе обмена изображениями я не хочу сохранять изображение на SD-карту

Пожалуйста, помогите .. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 01 февраля 2020

Пожалуйста, попробуйте с этим кодом

Uri uri1 = Uri.parse("https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823_960_720.jpg");
Uri uri2 = Uri.parse("https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823_960_720.jpg");
Uri uri3 = Uri.parse("https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823_960_720.jpg");

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putExtra(Intent.EXTRA_SUBJECT, "Here are some files.");
intent.setType("image/*"); /* This example is sharing jpeg images. */

ArrayList<Uri> files = new ArrayList<Uri>();
files.add(uri1);
files.add(uri2);
files.add(uri3);

intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
startActivity(Intent.createChooser(intent , "Share image");
...