这里给出关键部分代码,其余和文章《android 选择图片(从手机照相机或手机图片)》 类似

 private void doCrop() {final ArrayList<CropOption> cropOptions = new ArrayList<CropOption>();        Intent intent = new Intent("com.android.camera.action.CROP");        intent.setType("image/*");                List<ResolveInfo> list = getPackageManager().queryIntentActivities( intent, 0 );                int size = list.size();                if (size == 0) {                Toast.makeText(this, "Can not find image crop app", Toast.LENGTH_SHORT).show();                    return;        } else {        intent.setData(mImageCaptureUri);                        intent.putExtra("outputX", 200);            intent.putExtra("outputY", 200);            intent.putExtra("aspectX", 1);            intent.putExtra("aspectY", 1);            intent.putExtra("scale", true);            intent.putExtra("return-data", true);                    if (size == 1) {        Intent i = new Intent(intent);        ResolveInfo res= list.get(0);                i.setComponent( new ComponentName(res.activityInfo.packageName, res.activityInfo.name));                startActivityForResult(i, CROP_FROM_CAMERA);        } else {        for (ResolveInfo res : list) {        final CropOption co = new CropOption();                co.title = getPackageManager().getApplicationLabel(res.activityInfo.applicationInfo);        co.icon= getPackageManager().getApplicationIcon(res.activityInfo.applicationInfo);        co.appIntent= new Intent(intent);                co.appIntent.setComponent( new ComponentName(res.activityInfo.packageName, res.activityInfo.name));                    cropOptions.add(co);        }                CropOptionAdapter adapter = new CropOptionAdapter(getApplicationContext(), cropOptions);                AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("Choose Crop App");        builder.setAdapter( adapter, new DialogInterface.OnClickListener() {            public void onClick( DialogInterface dialog, int item ) {                startActivityForResult( cropOptions.get(item).appIntent, CROP_FROM_CAMERA);            }        });                builder.setOnCancelListener( new DialogInterface.OnCancelListener() {            @Override            public void onCancel( DialogInterface dialog ) {                               if (mImageCaptureUri != null ) {                    getContentResolver().delete(mImageCaptureUri, null, null );                    mImageCaptureUri = null;                }            }        } );                AlertDialog alert = builder.create();                alert.show();        }        }}

更多相关文章

  1. android Gallery实现加载网络图片
  2. Android使用AsyncTask下载图片,最好使用WeakReference
  3. Android 打开相机、相册获取图片文件,支持Android 9.0系统
  4. android中调用系统功能 来显示本地相册图片 拍照 视频 音频功能
  5. Android中欢迎界面背景图片放大效果
  6. 【记录】 Android 双卡手机获取两个IMEI等
  7. Android 最新获取手机内置存储大小,SD卡存储空间大小方法
  8. android 获取手机信息(device ip,os version etc.)
  9. Android中为PopupWindow设置半透明背景的方案(兼容华为手机)

随机推荐

  1. Android-----js和android的互调
  2. [Xamarin.Android] Fragment Tips
  3. Android(安卓)Studio 错误大全
  4. android获取网络图片的用法
  5. Android新特性介绍
  6. 多式样ProgressBar
  7. 图片中的毕加索【Picasso】
  8. android ndk 04 C语言 结构体_结构体指针
  9. 31.Android(安卓)MVP模式
  10. Android返回键处理(事件)