要写相机权限

Activity

package com.example.day20rk;

import android.content.Intent;
import android.data .Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;

public class CameraActivity extends AppCompatActivity {
private ImageView iv_image;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera);
    iv_image = findViewById(R.id.iv_image);
    iv_image.set Listener(new View. Listener() {

        private Button del;
        private Button album;
        private Button camera;

        @Override
        public void  (View v) {
            View view = View.inflate(CameraActivity.this, R.layout.pop_camera, null);
            final PopupWindow pop = new PopupWindow(view,LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.MATCH_PARENT);
            pop.showAsDropDown(v,0,0);
            camera = view.findViewById(R.id.camera);
            album = view.findViewById(R.id.album);
            del = view.findViewById(R.id.del);
            camera.set Listener(new View. Listener() {
                @Override
                public void  (View v) {
                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    intent.addCategory(\"android.intent.category.DEFAULT\");
                    startActivityForResult(intent, 1);
                }
            });
            album.set Listener(new View. Listener() {
                @Override
                public void  (View v) {
                    Intent intent = new Intent(Intent.ACTION_PICK);
                    intent.setType(\"image/*\");
                    startActivityForResult(intent, 2);
                }
            });
            del.set Listener(new View. Listener() {
                @Override
                public void  (View v) {
                    pop.dismiss();
                }
            });
        }

    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode){
        //相机
        case 1:
            Bitmap bitmap = data.getParcelableExtra(\"data\");
            iv_image.setImageBitmap(bitmap);
            break;
            //相册
        case 2:
            //获取系统返回的照片Uri
            Uri uri = data.getData();
            String[] filePathColumn = {MediaStore.Images.Media.DATA};
            //从系统中查询指定Uri相应的照片
            Cursor cursor = getContentResolver().query(uri,filePathColumn,null,null,null);
            cursor.moveToFirst();
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            //获取照片路径
            String picturePath = cursor.getString(columnIndex);
            cursor.close();
            Bitmap bmp = BitmapFactory.decodeFile(picturePath);
            iv_image.setImageBitmap(bmp);
            break;
    }
}

}

收藏 打印