【解决方法】android拍照获得的图片太小

用下面的方法获得的直接就是大图片

/**
 * 拍照并把照片保存到SD卡filePath路径下
 * 
 * @author Bottle
 * 
 * @Date 2013-4-10 上午10:35:58
 */
public class TakePhoto extends Activity {
	private Context mContext;
	private String filePath;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mContext = TakePhoto.this;

		String state = Environment.getExternalStorageState(); // 判断是否存在sd卡
		if (state.equals(Environment.MEDIA_MOUNTED)) { // 直接调用系统的照相机
			Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
			filePath = getFileName();
			intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(filePath)));
			startActivityForResult(intent, 0);
		} else {
			showToast("请检查手机是否有SD卡");
		}
	}

	/**
	 * 生成文件路径和文件名
	 * 
	 * @return
	 */
	private String getFileName() {
		String saveDir = Environment.getExternalStorageDirectory() + "/myPic";
		File dir = new File(saveDir);
		if (!dir.exists()) {
			dir.mkdir(); // 创建文件夹
		}
		//用日期作为文件名,确保唯一性
		Date date = new Date();
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
		String fileName = saveDir + "/" + formatter.format(date) + ".PNG";

		return fileName;
	}

	//拍摄完成后执行
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		//返回值==-1表示拍摄成功
		if (resultCode == -1) {
			showToast("图片保存到" + filePath);
		} else {
			showToast("拍摄图片失败");
		}
		this.finish();
	}
	
	/**
	 * 显示Toast
	 * 
	 * @param content
	 */
	protected void showToast(String showText) {
		Toast.makeText(mContext, showText, Toast.LENGTH_SHORT).show();
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值