源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android 照相功能的简单实例

  • 时间:2020-06-17 01:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android 照相功能的简单实例
在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。 照相有几个步骤: 1. 声明权限 2. 使用Camera照相 3. 显示图片 1. 声明权限 在manifest里面声明使用Camera:
[u]复制代码[/u] 代码如下:
<uses-feature android:name="android.hardware.camera" /> 
2. 使用Camera照相 在Activity中,调用Camera应用
[u]复制代码[/u] 代码如下:
private void dispatchTakePictureIntent(int actionCode) {      Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);      startActivityForResult(takePictureIntent, actionCode);  } 
3. 显示图片 在使用Camera照相成功之后,会返回回来,要显示图片就必须先获取图片,然后显示出来。 在onActivityResult方法中取得
[u]复制代码[/u] 代码如下:
<PRE class=java name="code">@Override      protected void onActivityResult(int requestCode, int resultCode, Intent data) {          switch (requestCode) {          Bundle extras = intent.getExtras();          Bitmap mImageBitmap = (Bitmap) extras.get("data");          mImageView.setImageBitmap(mImageBitmap);  }</PRE>  <PRE></PRE>  <PRE></PRE> 
想要保存图片到制定目录,启动Camera应用时,需要指定文件
[u]复制代码[/u] 代码如下:
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;              } 
[u]复制代码[/u] 代码如下:
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;      } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部