返回顶部
首页 > 资讯 > 移动开发 >Android启动相机拍照并返回图片
  • 577
分享到

Android启动相机拍照并返回图片

图片相机Android 2022-06-06 09:06:13 577人浏览 泡泡鱼
摘要

具体实现过程请看下面代码: 简单的调用了一下系统的拍照功能 代码如下所示: //拍照的方法 private void openTakePhoto(){ Stri

具体实现过程请看下面代码:

简单的调用了一下系统的拍照功能

代码如下所示:

//拍照的方法


 private void openTakePhoto(){
  
  String state = Environment.getExternalStorageState(); //拿到sdcard是否可用的状态码
  if (state.equals(Environment.MEDIA_MOUNTED)){   //如果可用
   Intent intent = newIntent("Android.media.action.IMAGE_CAPTURE");
   startActivityForResult(intent,TAKE_PHOTO);
  }else {
   Toast.makeText(SettingActivity.this,"sdcard不可用",Toast.LENGTH_SHORT).show();
  }
 }

拍完照片后,我们肯定视需要拿到我们已经拍好的照片去进行一些操作(例如,换头像、发带图状态等等),这时候我们就需要重写onActivityResult()方法,去拿到我们拍好的照片去进行操作,我们可以通过下面两种方式去拿到我们的照片,他的加过就封装在了我们的Intent里面,我们只需要取出来即可:


@Override
 protected void onActivityResult(int requestCode, int resultCode, Intentdata) {
  super.onActivityResult(requestCode, resultCode, data);
  if (data!= null) {
   switch (requestCode) {
    case TAKE_PHOTO: //拍摄图片并选择
     //两种方式 获取拍好的图片
     if (data.getData() != null|| data.getExtras() != null){ //防止没有返回结果
      Uri uri =data.getData();
      if (uri != null) {
       photo =BitmapFactory.decodeFile(uri.getPath()); //拿到图片
      }
      if (photo == null) {
       Bundle bundle =data.getExtras();
       if (bundle != null){
        photo =(Bitmap) bundle.get("data");
       } else {
        Toast.makeText(getApplicationContext(), "找不到图片",Toast.LENGTH_SHORT).show();
       }
      }
      //处理图片
      //裁剪图片
     }
     break;

以上代码附有注释,相信大家都可以看得吧,有哪些不明白的地方欢迎各位朋友给留言,我会在第一时间和大家取得联系的。谢谢!

您可能感兴趣的文章:android 7自定义相机预览及拍照功能Android调用系统照相机拍照与摄像的方法Android如何调用系统相机拍照Android编程实现调用相册、相机及拍照后直接裁剪的方法Android自定义相机实现定时拍照功能Android自定义组件获取本地图片和相机拍照图片Android使用系统自带的相机实现一键拍照功能Android 系统相机拍照后相片无法在相册中显示解决办法Android 实现调用系统照相机拍照和录像的功能Android 调用系统照相机拍照和录像Android实现从本地图库/相机拍照后裁剪图片并设置头像Android自定义照相机倒计时拍照Android打开系统相机并拍照的2种显示方法


--结束END--

本文标题: Android启动相机拍照并返回图片

本文链接: https://lsjlt.com/news/26391.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作