public void reasonAdd(View v)    {       final String [] strs=new String[]{"拍照","相册"};        AlertDialog.Builder builder=new AlertDialog.Builder(this);        builder.setTitle("照片");        builder.setItems(strs, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                //拍照可以用两种方法来实现                //1.调用系统相机 2.自定义相机                if (which==0) {                       Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                        startActivityForResult(intent,1);                }                //调用系统相册                if (which==1) {                    Intent intent=new Intent(Intent.ACTION_GET_CONTENT);                    intent.addCategory(Intent.CATEGORY_OPENABLE);                    intent.setType("p_w_picpath/*");                    intent.putExtra("crop", "true");                    intent.putExtra("aspectX", 1);                    intent.putExtra("aspectY", 1);                    intent.putExtra("outputX", 80);                    intent.putExtra("outputY", 80);                    intent.putExtra("return-data", true);                    startActivityForResult(intent, 0);                }            }        });        builder.show();    }     // 写一个方法来实现相机    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if(resultCode== Activity.RESULT_OK)        {            String sdStatus= Environment.getExternalStorageState();            if(!sdStatus.equals(Environment.MEDIA_MOUNTED))            {                Log.i("TestFile", "SD card is not avaiable right now");                return;            }            String name= Calendar.getInstance(Locale.CANADA)+".jpg";            Bundle bundle=data.getExtras();            FileOutputStream b=null;            // 实现设置图片的大小,然后显示            Intent intent1=new Intent("com.android.camera.actioin.CROP");            intent1.putExtra("crop","true");            intent1.putExtra("outputX",250);            intent1.putExtra("outputY", 250);            intent1.putExtra("aspectX",1);            intent1.putExtra("aspectY", 1);            Bitmap source= (Bitmap) bundle.get("data");            file=new File("/sdcard/myp_w_picpath/");            file.mkdir();            String Filename="/sdcard/myp_w_picpath/"+name;            try {                b=new FileOutputStream(Filename);                source.compress(Bitmap.CompressFormat.JPEG,100,b);                b.flush();                b.close();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            leave_iv_icon.setImageBitmap(source);            icon=source;        }else if(resultCode==0)        {            Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");            leave_iv_icon.setImageBitmap(cameraBitmap);            icon=cameraBitmap;        }    }


更多相关文章

  1. asynchttpclient的post方法发送json格式参数和表单格式参数
  2. Android中button的onClick事件几种方法
  3. Android 关闭多个Activity的实现方法
  4. Camera.Parameters android相机参数
  5. Android中几种延后处理事件的方法
  6. Android判断包名和类名是否存在的方法
  7. Android SDK 1.5 "--core-library" build error问题解决方法
  8. android http通信(二) 英译汉字典实例探究网络通信三种方法

随机推荐

  1. Android OpenGL例子学习
  2. Android使用百度地图SDK获得当前设备位置
  3. Android逆向分析常用网站
  4. Linux系统Android SDK 下载版本,报错Warni
  5. android(2.0以后版本) 中读取联系人和通
  6. 更新SDK后eclipse报错This Android SDK r
  7. Android中常用的Intent.Action整理
  8. android 常用JVM配置参数
  9. webView去掉右侧导航条
  10. android之android.os.NetworkOnMainThrea