广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-25 21:46:19 次阅读 稿源:互联网
    广告

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

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

    代码如下所示:

    //拍照的方法

     private void openTakePhoto(){  /**  * 在启动拍照之前最好先判断一下sdcard是否可用  */  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;

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

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告