小智 5
在此处查看有关使用图像捕获意图的SDK文档.
我像这样开始我的图像捕获意图:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE是我活动中的私人会员:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
Run Code Online (Sandbox Code Playgroud)
然后使用以下onActivityResult处理程序从相机中获取字节数组:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
Bitmap bmp = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
AddImage(byteArray);
} else if (resultCode == Activity.RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以在图像上执行所需的所有处理.