startCamera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_CODE);
}
});
/**
调用系统相册
camera_look_photo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, IMAGE_CODE);
}
});
//回调函数调用
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ContentResolver resolver = getContentResolver();
if (resultCode != RESULT_OK)
return;
switch (requestCode) {
case CAPTURE_CODE: {
Bitmap set_map = null;
paizhao = true;
xiangce = false;
String sdStatus = Environment.getExternalStorageState();
Bundle bundle = data.getExtras();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) {
bitMap = (Bitmap) data.getParcelableExtra("data");
if (bitMap == null) {
Uri originalUri = data.getData();
try {
System.out
.println(Build.MODEL+"----------camera----------------------611-------"
+ originalUri.toString());
byte[] mContent = readStream(resolver
.openInputStream(Uri.parse(originalUri
.toString())));
if(bitMap!=null)bitMap.recycle();
bitMap = getPicFromBytes(mContent, null);
cam_photo.setImageBitmap(bitMap);
camera_paht = "/data/sdcard/DCIM/Camera/"+ getPhotoFileName();
File aFile = new File("/data/sdcard/DCIM/Camera/");
if(!aFile.exists())
{
System.out.println("camera-----------------------630------------创建文件---");
aFile.mkdirs();
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
if(set_map!=null)set_map.recycle();
set_map = scaleImg(bitMap, x[position_s],
y[position_s]);
set_map.compress(Bitmap.CompressFormat.JPEG, 25, out);
photo = out.toByteArray();
out.close();
try {
FileOutputStream fos = new FileOutputStream(camera_paht);
try {
fos.write(photo);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
Bitmap set_map2 = null;
bitMap = (Bitmap) data.getParcelableExtra("data");
System.out.println(Build.MODEL+"camera----------------660-------"+bitMap);
if (bitMap == null) {
Uri originalUri = data.getData();
System.out.println("camera----------------------687-------"
+ originalUri.toString());
byte[] mContent=null;
try {
mContent = readStream(resolver.openInputStream(Uri
.parse(originalUri.toString())));
if(bitMap!=null)bitMap.recycle();
bitMap = getPicFromBytes(mContent, null);
} catch (Exception e1) {
e1.printStackTrace();
}
}
Bitmap resizedBitmap = null;
if(Build.MODEL.equals("7260")){
Matrix matrix = new Matrix();
matrix.postRotate(270);
resizedBitmap = Bitmap.createBitmap(bitMap, 0, 0,bitMap.getWidth(), bitMap.getHeight(), matrix, true);
bitMap = resizedBitmap;
}
System.out
.println("camera------------------585----------bitmap---"
+ bitMap);
System.out.println("Camera--------------75------");
cam_photo.setImageBitmap(bitMap);
ByteArrayOutputStream out = new ByteArrayOutputStream();
if(set_map2!=null)set_map2.recycle();
set_map2 = scaleImg(bitMap, x[position_s],
y[position_s]);
if(set_map2==null)return;
set_map2.compress(Bitmap.CompressFormat.JPEG, 25, out);
photo = out.toByteArray();
try {
out.close();
} catch (IOException e1) {
e1.printStackTrace();
}
intTobyte(photo.length);
System.out.println("camera-----------------------722-------"+photo_len);
camera_paht = PHOTO_DIR + File.separator
+ getPhotoFileName();
System.out
.println("camera ---------照片存储地址----------419-----"
+ camera_paht);
File aFile = new File(camera_paht);
try {
FileOutputStream fos = new FileOutputStream(aFile);
try {
fos.write(photo);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
break;
}
case IMAGE_CODE: {
Bundle bundle = data.getExtras();
System.out.println("Camera--------------75------");
paizhao = false;
xiangce = true;
Uri originalUri = data.getData();
if (originalUri != null) {
Bitmap bitMap = null;
try {
if(bitMap!=null)bitMap.recycle();
bitMap = null;
bitMap = MediaStore.Images.Media.getBitmap(resolver,
originalUri);
String[] proj = { MediaColumns.DATA };
Cursor cursor = managedQuery(originalUri, proj, null, null,
null);
int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
System.out.println("706-------------camera------"
+ column_index);
cursor.moveToFirst();
ByteArrayOutputStream out = new ByteArrayOutputStream();
uploadPhotPath = cursor.getString(column_index);
System.out
.println("camera--------------------561----------- 相册图片的地址--------"
+ uploadPhotPath);
Bitmap map = scaleImg(bitMap, 250, 420);
map.compress(Bitmap.CompressFormat.JPEG, 25, out);
photo = out.toByteArray();
intTobyte(photo.length);
System.out
.println("camera-----------------565----------相册图片的长度-----"
+ photo.length);
cam_photo.setImageBitmap(map);
} catch (Exception e) {
Toast.makeText(Camera.this, "图片不可用", 3).show();
}
}
break;
}
}
}
//上传图片
private void uploadFile2Svr2() {
if (paizhao) {
file = new File(camera_paht);
}
if (xiangce) {
if(uploadPhotPath==null)
return;
file = new File(uploadPhotPath);
}
System.out.println("camera------------------------807");
String httpUrl = path;
System.out.println("---------------");
HttpPost request = new HttpPost(httpUrl);
HttpClient httpClient = new DefaultHttpClient();
FileEntity entity = new FileEntity(file, "binary/octet-stream");
HttpResponse response;
request.setEntity(entity);
entity.setContentEncoding("binary/octet-stream");
try {
response = httpClient.execute(request);
System.out.println(response.toString());
} catch (ClientProtocolException e) {
Toast.makeText(Camera.this, "图片不可用,请重新拍摄上传", 3).show();
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(Camera.this, "图片不可用,请重新拍摄上传", 3).show();
e.printStackTrace();
}
}