zoukankan      html  css  js  c++  java
  • 使用相机和图库

    1、不用权限

    2、启动照相机和图库

    static final int TAKE_AVATAR_CAMERA_REQUEST = 1;//图库
    static final int TAKE_AVATAR_GALLERY_REQUEST = 2;//照相机

    //启动照相机

    String strAvatarPrompt = "照个照片!";
    Intent pictureIntent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(Intent.createChooser(pictureIntent, strAvatarPrompt),
    TAKE_AVATAR_CAMERA_REQUEST);//启动照相机

    //启动图库

    Intent pickPhoto=new Intent(Intent.ACTION_PICK);
    pickPhoto.setType("image/*");
    startActivityForResult(pickPhoto, TAKE_AVATAR_GALLERY_REQUEST);//启动图库选照片

    //在onActivityResult获得返回的照片

    protected void onActivityResult(int requestCode,int resultCode,Intent data) {
    int maxLength=150;
    switch (requestCode) {
    case TAKE_AVATAR_CAMERA_REQUEST://照相机
    if(resultCode==Activity.RESULT_OK){
    Bitmap cameraPic=(Bitmap)data.getExtras().get("data");//取得照片
    saveBitmap(cameraPic);//保存照片到应用程序
    }else if(resultCode==Activity.RESULT_CANCELED)
    break;
    case TAKE_AVATAR_GALLERY_REQUEST://图库
    if(resultCode==Activity.RESULT_OK){
    Uri photoUri=data.getData();//取得照片
    try {
    Bitmap galleryPic=android.provider.MediaStore.Images.Media.getBitmap(getContentResolver(), photoUri);
    saveBitmap(galleryPic);//保存照片到应用程序
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }else if(resultCode==Activity.RESULT_CANCELED)
    break;
    default:
    break;
    }
    }

    //保存图片到应用程序

    private void saveBitmap(Bitmap avatar) {
    String strAvatarFilename = "avatar.jpg";
    try {
    avatar.compress(CompressFormat.JPEG, 100,
    openFileOutput(strAvatarFilename, MODE_PRIVATE));
    } catch (Exception e) {
    Log.e(DEBUG_TAG, "Avatar compression and save failed.", e);
    }

    Uri imageUriToSaveCameraImageTo = Uri.fromFile(new File(
    QuizSettingsActivity.this.getFilesDir(), strAvatarFilename));

    // Update the settings screen
    ImageButton avatarButton = (ImageButton) findViewById(R.id.ImageButton_Avatar);
    String strAvatarUri = imageUriToSaveCameraImageTo.getPath();//取得图片的Uri
    Uri imageUri = Uri.parse(strAvatarUri);
    avatarButton.setImageURI(null); // Workaround for refreshing an
    // ImageButton, which tries to cache the
    // previous image Uri. Passing null
    // effectively resets it.
    avatarButton.setImageURI(imageUri);
    }

  • 相关阅读:
    js常用方法收集
    Jquery的常用使用方法
    jQuery css()选择器使用说明
    解决IE6,边框问题
    HTML问题集锦及笔记
    我的第一个chrome扩展(3)——继续读样例
    我的第一个chrome扩展(0)——目标
    我的第一个chrome扩展(2)——基本知识
    我的第一个chrome扩展(1)——读样例,实现时钟
    2の奇妙用法
  • 原文地址:https://www.cnblogs.com/wdc224/p/3740081.html
Copyright © 2011-2022 走看看