【问题标题】:How can I share images from an Array that uses ImageView feature?如何共享使用 ImageView 功能的数组中的图像?
【发布时间】:2017-10-07 22:04:32
【问题描述】:

我有疑问。

如何共享使用 ImageView 功能的 Array 中的图像?

我的数组有100多张图片,举个例子:

Final int [] photos = {
                R.drawable.abrir_a_boca,
                R.drawable.rooms,
                R.drawable.firmly,
                R.drawable.agradeca,
                R.drawable.alfaiate,
                R.drawable.ancora,
}

分享我正在尝试使用 Intent.ACTION_SEND

Set.setOnClickListener (new View.OnClickListener () {
            @Override
            Public void onClick (View v)
            {
                Intent sharingIntent = new Intent (Intent.ACTION_SEND);
                Uri screenshotUri = Uri.parse (photos???);

                SharingIntent.setType ("image / *");
                SharingIntent.putExtra (Intent.EXTRA_STREAM, screenshotUri);
                StartActivity (Intent.createChooser (sharingIntent, "Share image using"));

            }
        });

如何分享图片?

非常感谢!!!

【问题讨论】:

  • an Array that uses ImageView feature? ??你哪里有这样的数组?我只看到一个带有整数的数组。整数是资源 ID。
  • My array has more than 100 images。不,您的数组不包含图像。它包含整数值。资源 ID。

标签: java android arrays android-imageview


【解决方案1】:

分享图片前需要做一些操作,所以在Manifest.xml添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

拳头,从你的可绘制资源创建一个Bitmap 对象:

Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.xxxx);

然后,获取您共享图像的路径

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+"/yourImage.jpg";
OutputStream out = null;
File file=new File(path);
try {
    out = new FileOutputStream(file);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
    out.flush();
    out.close();
} catch (Exception e) {
    e.printStackTrace();
}
path=file.getPath();
Uri uri = Uri.parse("file://"+path);

最后,创建你的意图:

Intent intent = new Intent();
intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/jpg");
startActivity(Intent.createChooser(intent,"Share with..."));

【讨论】:

  • 除了您只处理一个图像并且它在 Android 7 上不起作用之外,您的代码使用了一个不需要的中间位图。此外,您很乐意将 png 更改为 jpg。如果您只是复制文件而不使用位图会更好。确定文件名后。现在你只需创建一个不同的名称。
  • 奥布里加多,路易斯·费尔南多。 Daqui a pouco irei fazer um teste e posto aqui。阿布拉索!
  • Abraços!, qualquer coisa estou disponivel!
  • 奥拉,路易斯。 Esqueci de mencionar, na verdade estava querendo compartilhar uma imagem que estava sendo exibida na tela, é porque a pessoa clica na imagem e as imagens são randômicas e são mais de 100。mediafire.com/convkey/d5a3/l0b5eobtpdbeoenzg.jpg Segue um exemplo da tela。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多