我已经能够制作一个功能,可以拍摄布局照片并将其保存到手机中。 但我无法在同一个功能中分享它。 这是我的代码:
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);
}
});
但我想让该按钮共享位图onClick。 调用最后保存的位图,然后共享它。 这可能吗?
答案 0 :(得分:0)
我卖掉了这个问题。我制作了一个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;
}