所需权限

 <uses-permission android:name="android.permission.CAMERA" /><!--写入SD卡的权限:如果你希望保存相机拍照后的照片--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--读取SD卡的权限:打开相册选取图片所必须的权限--><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

权限检查:

  @RequiresApi(api = Build.VERSION_CODES.M)void Request() {//获取相机拍摄读写权限if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//版本判断if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}, 1);}}}

调用弹出框:

private void openPictuer() {AlertDialog.Builder builder = new AlertDialog.Builder(MyInformation.this);builder.setTitle("请选择");builder.setItems(new String[]{"相机", "相册"}, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which) {case 0://相机Intent intent_camera = new Intent("android.media.action.IMAGE_CAPTURE");startActivityForResult(intent_camera, 1);break;case 1://相册Intent intent = new Intent(Intent.ACTION_PICK);intent.setDataAndType(MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*");//相片类型startActivityForResult(intent, 2);break;}}});builder.create().show();}

两种方式回调

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if(requestCode==1&&resultCode==RESULT_OK){Toast.makeText(MyInformation.this,"相机回调:true",Toast.LENGTH_SHORT).show();/*缩略图信息是储存在返回的intent中的Bundle中的,* 对应Bundle中的键为data,因此从Intent中取出* Bundle再根据data取出来Bitmap即可*/Bundle extras = data.getExtras();Bitmap bitmap = (Bitmap) extras.get("data");imageView.setImageBitmap(bitmap);}if(requestCode==2&&resultCode == RESULT_OK){Toast.makeText(MyInformation.this,"相册回调:true",Toast.LENGTH_SHORT).show();//    第一种方法:  Uri selectedImage = data.getData();imageView.setImageURI(selectedImage);//第二中方法:
//          Uri selectedImage = data.getData();
//            String[] filePathColumn = { MediaStore.Images.Media.DATA };
//            Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
//            cursor.moveToFirst();
//            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
//            String picturePath = cursor.getString(columnIndex);
//            cursor.close();
//            Bitmap bm = BitmapFactory.decodeFile(picturePath);//    imageView.setImageBitmap(bm);}}

Androi调用相机和相册相关推荐

  1. Android—显示窗口调用相机与相册

    关于Android点击头像显示窗口调用相机与相册 主要有七步: 点击事件,窗口初始化,点击回调事件,对照片裁剪,裁剪照片保存,声明FileProvider,编写FileProvider的xml文件 1 ...

  2. android 相机和相册,[转载][转载] android调用相机和相册

    很多同学在做客户端的时候,都需要做上传图片,那么上传图片如何上传呢?自己写一个SurfaceView做为展示区,然后用camera类来实现?太out了!直接调用相机拍照获取或者调用相册来取照片才是王道 ...

  3. 苹果手机 和安卓手机调用相机和相册

    苹果手机 和安卓手机调用相机和相册

  4. Android调用相机与相册的方法

    Android调用相机与相册的方法 操作流程 点击拍摄 效果图 点击相册选择 效果图 拒绝权限的情况 效果图 功能实现 项目配置 1.先在项目根目录的build.gradle的repositories ...

  5. 小程序调用相机、相册、视屏拍摄功能

    最近开发小程序,其中涉及聊天板块,这里记录一下小程序如何调用相机.相册.视屏拍摄等功能. 1.相册图片选择或调用相机 chooseImage() {var that = thiswx.chooseIm ...

  6. uni-app 调用相机或相册图片并转为base64格式上传图片

    1.调用相机或相册上传图片 uni.chooseImage({count: 1, // 最多可以选择的图片张数sizeType: ['original', 'compressed'], // 可以指定 ...

  7. 关于input在苹果和安卓手机上调用相机和相册的问题

    最近在项目中遇到一个问题,用H5做手机端页面,用input调用相机,苹果手机无法调出相册,安卓手机可以,针对此情况,对手机做出判断,代码如下: <input  type="file&q ...

  8. Vue 移动端调用相机和相册实现图片上传

    一.基础知识: 1.只调用手机相册 <input type="file" accept="image/*;" > 2.只调用手机相机拍照 <i ...

  9. android调用相机与相册的方法,手把手教你:android调用系统相机、相册功能,适配6.0权限获取以及7.0之后获取URI(兼容多版本)...

    Android中调用系统相机来拍摄照片的代码,以下:html 一.首先设置Uri获取判断以及相机请求Codejava public final int TYPE_TAKE_PHOTO = 1;//Ur ...

最新文章

  1. 速看!高校开学返校的40个最新信息
  2. 位图索引(bitmap index)冲突引起的TX锁争用
  3. python读取数据集前十行_Python读取数据集并消除数据中的空行方法
  4. 条款34:区分接口继承和实现继承(Different between inheritance of interface and inheritance of implemenation)...
  5. 自助式BI对比评测:Tableau和FineBI
  6. 整数快速幂(原理+模板)
  7. java asm methodvisitor 定义局部变量_Java ASM3学习(3)
  8. oppo系统android版本下载,oppo手机助手
  9. 栈--后进先出的线性表
  10. 浮点数I-EEE规范
  11. 3D结构光摄像头深度算法
  12. 学习自旋电子学的笔记03:初试自旋波模拟
  13. 电脑计算机c盘打不开怎么办,Win7系统电脑C盘打不开怎么办_Win7系统电脑C盘打不开的解决方法 - 系统家园...
  14. 基于wifi无线PLC远程控制实现io开关量信号远程采集传输技术
  15. 5g理论速度_5G是什么?5G速度有多快?
  16. Cocos2d-X资源网站索引
  17. Outlook收件箱总显示有未读邮件问题
  18. 虚拟机Linux如何做快照、备份以及快照的使用
  19. 测试用例设计方法---流程图法
  20. 软件质量模型ISO/IEC--联想记忆法

热门文章

  1. ibatis.builder.BuilderException: Error parsing Mapper XML: Could not resolve type alias ‘XXX‘
  2. 对ADC(DAC)的线性度(INL和DNL)的一点理解
  3. 密云黑龙潭周末自驾游
  4. 魅族flashfire_魅族pro6S获取完全root权限!!
  5. Revit开发小功能集合
  6. 如何用ChatGPT进行剧本/广告脚本写作?
  7. Postfix 搭建邮件服务器
  8. 服务商模式下微信小程序支付时,一直报“支付验证签名失败”错误的解决办法
  9. 【latex】论文或参考文献中出现俄文\西班牙文人名的解决方法
  10. Oracle 中的索引