Android 开发照相功能实例详解

Android 开发照相功能实例详解,第1张

概述Android照相在android中,照相功能系统已经提供,在app中可以直接使用。当手机从androidplay里面下载有照相功能的应用时,会判断手机是否支持。不支持,不给予下载。

AndroID 照相

在androID中,照相功能系统已经提供,在app中可以直接使用。当手机从androID play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。

照相有几个步骤:

1. 声明权限
2. 使用Camera照相
3. 显示图片

1. 声明权限

在manifest里面声明使用Camera:

<uses-feature androID:name="androID.harDWare.camera" /> 

2. 使用Camera照相

在Activity中,调用Camera应用

private voID dispatchTakePictureIntent(int actionCode) {   Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);   startActivityForResult(takePictureIntent,actionCode); } 

3. 显示图片

在使用Camera照相成功之后,会返回回来,要显示图片就必须先获取图片,然后显示出来。

在onActivityResult方法中取得

 protected voID onActivityResult(int requestCode,int resultCode,Intent data) {     switch (requestCode) {     Bundle extras = intent.getExtras();     Bitmap mImageBitmap = (Bitmap) extras.get("data");     mImageVIEw.setimageBitmap(mImageBitmap); 

想要保存图片到制定目录,启动Camera应用时,需要指定文件

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); file f = null;              try {         f = setUpPhotofile();          takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromfile(f));       } catch (IOException e) {         e.printstacktrace();         f = null;       } 
private file createImagefile() throws IOException {     // Create an image file name     String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());     String imagefilename = "img_"+ timeStamp + "_";     file albumF = getAlbumDir();     file imageF = file.createTempfile(imagefilename,"jpg",albumF);     return imageF;   }     private file setUpPhotofile() throws IOException {          file f = createImagefile();     mCurrentPhotopath = f.getabsolutePath();          return f;   } private file getAlbumDir() {     file storageDir = null;       if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {              storageDir = mAlbumStorageDirFactory.getAlbumStorageDir(getAlbumname());         if (storageDir != null) {         if (! storageDir.mkdirs()) {           if (! storageDir.exists()){             Log.d("CameraSample","Failed to create directory");             return null;           }         }       }            } else {       Log.v(getString(R.string.app_name),"External storage is not mounted READ/WRITE.");     }          return storageDir;   } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的Android 开发照相功能实例详解全部内容,希望文章能够帮你解决Android 开发照相功能实例详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1149677.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存