android 相机的拍照权限有哪些

android 相机的拍照权限有哪些,第1张

对于Android 60之前,想要使用系统的相机进行拍照,那么只要在AndroidManifedtxml中进行添加相应的权限,主要是两个:

<uses-permission android:name="androidpermissionWRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="androidpermissionCAMERA"/>

@Override

public boolean onTouchEvent(MotionEvent event) {

// 触摸屏幕自动对焦

if (eventgetAction() == MotionEventACTION_DOWN) {

mCameraautoFocus(new AutoFocusCallback() {

public void onAutoFocus(boolean success, Camera camera) {

}

});

}

return superonTouchEvent(event);

}//这个是activity的基本事件,在这个事件中写入,对焦就好了。主要是对焦 *** 作

//参考SDK中的API,获取相机的参数:

CameraParameters parameters = cameragetParameters();

//获取预览的各种分辨率

List<Size> supportedPreviewSizes = parametersgetSupportedPreviewSizes();

//获取摄像头支持的各种分辨率

List<Size> supportedPictureSizes = parametersgetSupportedPictureSizes();

实例:

// 获取照相机参数,设置需要的参数,其余缺省

Camera camera = Cameraopen();

CameraParameters parameters = cameragetParameters();

// 设置照片格式

parameterssetPictureFormat(PixelFormatJPEG);

// 设置预浏尺寸,注意要在摄像头支持的范围内选择

parameterssetPreviewSize(WIDTH, HEIGHT);

// 设置照片分辨率,注意要在摄像头支持的范围内选择

parameterssetPictureSize(WIDTH, HEIGHT);

// 设置照相机参数

camerasetParameters(parameters);

// 开始拍照

camerastartPreview();

昨天需要添加照片水印的功能,google后找到了博客大v 水寒 的文章 对我帮助很大 >

早期的手机带有红外,通过发射红外可以测出来被拍摄物体和手机之间的距离。以前的相机的聚焦算法用的是物理算法也就是指的这。现代的大多通过软件聚焦,比如计算出人脸核心区域以此聚焦。但这些算法都是相机厂家的机密哦!!!但android手机里既然提供这个api理论上是可以获得距离的,只能说是个bug了!

这是个Bug。stackoverflow上的人也提出来了。所以目前想用单个相机测距是不行的。除非是结合图像识别和位移来测算。

public class TestCameraActivity extends Activity implements OnClickListener{    private Uri mOutPutFileUri;

 @Override

    public void onCreate(Bundle savedInstanceState) {

        superonCreate(savedInstanceState);

        setContentView(Rlayoutmain);

        

        Button takePiCButton = (Button) thisfindViewById(Ridbutton1);

        takePiCButtonsetOnClickListener(this);

    }

@Override

 public void onClick(View v) {

  switch (vgetId()) {

  case Ridbutton1:

   saveFullImage();

   break;

default:

   break;

  }

 }

 

 private void saveFullImage(){

  Intent intent = new Intent(MediaStoreACTION_IMAGE_CAPTURE);

  //文件夹aaaa

  String path = EnvironmentgetExternalStorageDirectory()toString()+"/aaaa";

  File path1 = new File(path);

  if(!path1exists()){

   path1mkdirs();

  }

  File file = new File(path1,SystemcurrentTimeMillis()+"jpg");

  mOutPutFileUri = UrifromFile(file);

  intentputExtra(MediaStoreEXTRA_OUTPUT, mOutPutFileUri);

  startActivityForResult(intent, 1);

  

 }

 

 @Override

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {

  superonActivityResult(requestCode, resultCode, data);

  if(requestCode == 1){

   Uri imageUri = null;

   if(data != null){

    if(datahasExtra("data")){

     Bitmap thunbnail = datagetParcelableExtra("data");

     //处理缩略图

    }

   }else{

    //处理mOutPutFileUri中的完整图像

   }

   

  }

 }

}

Uri

uri

=

datagetData();

这样是可以得到相片的位置的,但是比如使用camera360就不能再拍完照片后不能返回到我的界面,一直卡在camera360那个位置

以上就是关于android 相机的拍照权限有哪些全部的内容,包括:android 相机的拍照权限有哪些、Android 开发调用相机拍照如何获取清晰照片、android 如何获取相机分辨率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9778358.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存