记得照相是要加权限的
<uses-permission android:name="android.permission.CAMERA"/><uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
1、首先我們要啟動照相或相冊
private final int IMAGE_CODE = 101; //標志從相冊中取圖片
private final int CAPTURE_CODE = 100;//標志照相后取圖片
a 啟動照相
Intent takephoto = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takephoto,CAPTURE_CODE);
b 啟動圖片瀏覽
Intent album = new Intent(Intent.ACTION_GET_CONTENT);
abum.setType(IMAGE_TYPE);
startActivityForResult(getAlbum, IMAGE_CODE);
2、然后再返回的onActivityResult做處理
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
try {
// super.onActivityResult(requestCode, resultCode, data);
ContentResolver resolver = getContentResolver();
if (resultCode != RESULT_OK) {
return;// 一定要加,不然后會報錯。
} else if (requestCode == IMAGE_CODE) {
Uri originalUri = data.getData();
if (originalUri != null) {
// 這里得到相冊的圖片數據,通過URI來得到圖片數據
bm = MediaStore.Images.Media.getBitmap(resolver,originalUri);
}
} else if (requestCode == CAPTURE_CODE && resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
if (bundle != null) {
bm = (Bitmap) bundle.get("data");// 這里就介到照相后的圖片數據
}
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "選擇文件格式錯誤,圖片隻為能jpg格式", Toast.LENGTH_SHORT).show();
}
}