创建一个应用程序,我将一堆照片存储在可绘制文件夹中,当用户长按照片显示菜单时,其中一个选项是共享。我可以打开上下文菜单,但不知道如何共享从网格菜单。
我也有扩展它在自己的视图中显示单个图像并可以从那里共享。
但是当用户从 gridview 中选择图像时,我不知道如何共享该图像。
这是我在用户选择共享选项时调用的方法
public Intent intentShare() {
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://your.package.here/drawable/"+share.putExtra("id", lastPosition)));
startActivity(Intent.createChooser(share, "Share Image"));
return share;
}
我在其他几个问题上看到了这个可能的选项/解决方案
Bitmap icon = mBitmap;
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg");
try {
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/temporary_file.jpg"));
startActivity(Intent.createChooser(share, "Share Image"));
但我不知道如何初始化 mBitmap 是否可行?
完整的代码可以在这里找到:http: //pastie.org/private/gdpyn2t55h0gp1vp1kika