国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 開發照相功能實例詳解

2019-10-23 18:31:44
字體:
來源:轉載
供稿:網友

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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 满城县| 广宗县| 多伦县| 田林县| 措美县| 花莲市| 博乐市| 南木林县| 华蓥市| 泰州市| 贵南县| 托克托县| 丰台区| 东丽区| 哈尔滨市| 大田县| 湘乡市| 仁寿县| 忻城县| 淅川县| 图木舒克市| 连州市| 托克托县| 安岳县| 穆棱市| 韩城市| 大名县| 华容县| 大厂| 微博| 通许县| 铁岭市| 佛冈县| 巨野县| 清水河县| 宁安市| 竹山县| 云南省| 江华| 汉川市| 甘洛县|