分享上次保存的位图
Posted
技术标签:
【中文标题】分享上次保存的位图【英文标题】:Share the last saved bitmap 【发布时间】:2013-11-22 09:03:57 【问题描述】:我已经能够制作一个拍摄布局照片并将其保存到手机的功能。 但我无法设法在相同的功能中分享它。 这是我的代码:
public Bitmap loadBitmapFromView(View v)
Bitmap b = Bitmap.createBitmap(
v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getWidth(), v.getHeight());
v.draw(c);
try
MediaStore.Images.Media.insertImage(getContentResolver(), b, "image.png" , "screenshot");
catch (Exception e)
e.printStackTrace();
我用以下方式拍摄照片:
final Button btn = (Button)findViewById(R.id.btnShare);
btn.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
loadBitmapFromView(view);
);
但我想让该按钮在单击时共享位图。 调用最后保存的位图,并分享它。 这可能吗?
【问题讨论】:
分享有什么问题?您无法检索要共享的位图还是什么? 你想在哪里分享,肯定有可能 我希望能够做出分享意图。并将最后保存的位图作为图片分享。像这样: Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("文本/纯文本");意图.putExtra(意图.EXTRA_TEXT,b); startActivity(Intent.createChooser(intent, "对话框标题文本")); 【参考方案1】:我把问题卖了。我制作了位图的 uri 并有意分享它,它起作用了。
public Bitmap loadBitmapFromView(View v)
Bitmap b = Bitmap.createBitmap(
v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getWidth(), v.getHeight());
v.draw(c);
try
String path = MediaStore.Images.Media.insertImage(getContentResolver(), b, "image.png", "screenshot");
Uri uri = Uri.parse(path);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/png");
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent , "Share"));
catch (Exception e)
e.printStackTrace();
return b;
【讨论】:
以上是关于分享上次保存的位图的主要内容,如果未能解决你的问题,请参考以下文章