调用系统相机相冊

	/**
	 * 跳转至系统相冊
	 *
	 * @param activity
	 *            活动实例
	 * @param requestCode
	 *            请求码
	 */
	public static void startSystemAlbumForResult(Activity activity,
			int requestCode) {
		Intent intent = new Intent(Intent.ACTION_PICK,
				Media.EXTERNAL_CONTENT_URI);
		activity.startActivityForResult(intent, requestCode);
	}
	/**
	 * 调用系统相机
	 *
	 * @param activity
	 *            活动实例
	 * @param requestCode
	 *            请求码
	 */
	public static void startSystemCameraForResult(Activity activity,
			int requestCode) {
		Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
		activity.startActivityForResult(intent, requestCode);
	}
/**
	 * 启动系统截图页面
	 *
	 * @param activity
	 *            当前活动实例
	 * @param requestCode
	 *            请求码
	 * @param data
	 *            相片Uri地址
	 * @param width
	 *            剪裁后图片的宽
	 * @param height
	 *            剪裁后图片的高
	 */
	public static void startPhotoZoomForResult(Activity activity,
			int requestCode, Uri data, int width, int height) {
		Intent intent = new Intent("com.android.camera.action.CROP");
		intent.setDataAndType(data, "image/*");
		// crop为true时表示显示的view能够剪裁
		intent.putExtra("crop", "true");
		// aspectX aspectY 是宽高的比例
		intent.putExtra("aspectX", 1);
		intent.putExtra("aspectY", 1);
		// outputX,outputY 是剪裁图片的宽高
		intent.putExtra("outputX", width);
		intent.putExtra("outputY", height);
		intent.putExtra("return-data", true);
		activity.startActivityForResult(intent, requestCode);
	}
	/**
	 * 获取系统相冊返回的图片路径
	 *
	 * @param context
	 *            上下文对象
	 * @param data
	 *            携带数据的Intent对象
	 * @return 图片本地路径
	 */
	public static String getAlbumImgPath(Context context, Intent data) {
		Uri selectedImage = data.getData();
		if (selectedImage == null) {
			return null;
		}
		String[] filePathColumns = { MediaStore.Images.Media.DATA };
		Cursor c = context.getContentResolver().query(selectedImage,
				filePathColumns, null, null, null);
		c.moveToFirst();
		int columnIndex = c.getColumnIndex(filePathColumns[0]);
		String picturePath = c.getString(columnIndex);
		c.close();
		return picturePath;
	}
	/**
	 * 获取系统相机返回的图片Bitmap对象
	 *
	 * @param context
	 *            上下文对象
	 * @param data
	 *            携带数据的Intent对象
	 * @return 图片Bitmap对象
	 */
	public static Bitmap getCameraImgBitmap(Context context, Intent data) {
		Bundle bundle = data.getExtras();
		if (bundle != null) {
			return (Bitmap) bundle.get("data");
		}
		return null;
	}
时间: 2024-07-30 16:52:17

调用系统相机相冊的相关文章

iOS开发 调用系统相机和相册

调用系统相机和相册 (iPad,iPhone)打开相机:(iPad,iPhone)//先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库      UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;  //    if (![UIImagePickerController isSourceTypeAvailab

Android调用系统相机拍照保存照片很小解决方案

保存图片小的一般操作步骤: 1. 调用系统相机 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 1); 2. 保存照片 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  // TODO Auto-generated method s

Android调用系统相机、自定义相机、处理大图片

Android调用系统相机和自定义相机实例 本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显示出来,该例子也会涉及到Android加载大图片时候的处理(避免OOM),还有简要提一下有些人SurfaceView出现黑屏的原因. Android应用拍照的两种方式,下面为两种形式的Demo展示出来的效果.    知识点: 一.调用系统自带的相机应用 二.自定义我们自己的拍照界面 三.关于计算机解析图片原理(如何正确加载图片到Android应用中) 所需

Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题

版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是“确定”图标,返回的resultCode = -1(Activity.RESULT_OK): 如果点击的是底部的“返回”键,返回的resultCode = 0(Activity.RESULT_CANCELED). 简单的调用系统相机的写法: //调用系统拍照 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); String p

Android 调用系统相机拍照保存以及调用系统相册的方法

系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的.下面讲讲调用系统相机拍照并保存图片和如何调用系统相册的方法. 首先看看调用系统相机的核心方法: Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, CAMERA); 相机返回的数据通过下面的回调方法取得,并处理: public static final int CAMERA  = 0x01; @Over

Android简单的调用系统相机和相册

  public void reasonAdd(View v)     {        final String [] strs=new String[]{"拍照","相册"};         AlertDialog.Builder builder=new AlertDialog.Builder(this);         builder.setTitle("照片");         builder.setItems(strs, new 

android 调用系统相机获取图片、调用系统相册获取图片,并对图片进行截取

打开系统相册获取图片并截取,代码相对简单 1 Intent intent = new Intent(Intent.ACTION_GET_CONTENT,null); 2 intent.setType("image/*"); 3 intent.putExtra("crop", "true"); 4 5 //WIDTH 和 HEIGHT指的是截取框的宽高比例,如设WIDTH = 1,HEIGHT = 1,截取框就为正方形 6 intent.putEx

Android调用系统相机功能

在常规应用开发过程中,我们经常会使用到手机的相机功能,通过调用系统相机方便快捷的帮助我们实现拍照功能,本篇我将带领大家实现一下,如何通过调用系统相机实现拍照. 第一种:调用系统相机拍照,通过返回的照片缩略图展示我们的拍照图片 打开系统相机: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, TAKE_PICTURE);// 如果用Activity.RESULT_O

iOS中 读取相册,调用系统相机 技术分享

技术内容:分别读取相册以及调取相机,将图片显示到imageView上 布局: 1.创建imageView 和 button 并为button一个关联pickerImage的事件 [objc] view plaincopy <div style="text-align: left;"><span style="font-family: Helvetica; -webkit-text-stroke-width: initial;">    sel