안 드 로 이 드 호출 시스템 의 카메라 와 갤러리 인 스 턴 스 상세 설명

안 드 로 이 드 핸드폰 은 자체 카메라 와 갤러리 가 있 습 니 다.저희 가 하 는 프로젝트 는 가끔 서버 에 사진 을 올 리 는 데 사 용 됩 니 다.오늘 은 이 기능 을 사용 하 는 프로젝트 를 만 들 었 기 때문에 제 코드 를 기록 하여 여러분 과 공유 하 겠 습 니 다.처음으로 블 로 그 를 쓰 는 것 은 여러분 의 많은 비판 을 바 랍 니 다.먼저 안 드 로 이 드 앨범 과 카 메 라 를 호출 하 는 코드:
 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// android
photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
startActivityForResult(intent, 1);
 
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);// android
startActivityForResult(i, 2);
 
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//
super.onActivityResult(requestCode, resultCode, data);
case 1:
switch (resultCode) {
case Activity.RESULT_OK://
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // sd
Log.v("TestFile", "SD card is not avaiable/writeable right now.");
return; }
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// , Bitmap
FileOutputStream b = null;
File file = new File("/sdcard/pk4fun/");
file.mkdirs();// , pk4fun // , , , 。 Demo , , 。 , “IMG” ; sd myimage , , 。
String str = null;
Date date = null;
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");// ,
date = new Date(resultCode);
str = format.format(date);
String fileName = "/sdcard/myImage/" + str + ".jpg";
sendBroadcast(fileName);
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);//
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
} break;
case Activity.RESULT_CANCELED://
break;
}
break;
case 2:
switch (resultCode) {
case Activity.RESULT_OK: {
Uri uri = data.getData();
Cursor cursor = mActivity.getContentResolver().query(uri, null,
null, null, null);
cursor.moveToFirst();
String imgNo = cursor.getString(0); //
String imgPath = cursor.getString(1); //
String imgSize = cursor.getString(2); //
String imgName = cursor.getString(3); //
cursor.close();
// Options options = new BitmapFactory.Options();
// options.inJustDecodeBounds = false;
// options.inSampleSize = 10;
// Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);
}
break;
case Activity.RESULT_CANCELED://
break;
}
break;
}
마지막 으로 권한 추가 기억

좋은 웹페이지 즐겨찾기