我想制作一个我必须只打开前置摄像头的应用程序,我该如何使用意图?
private void captureImage() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getoutputMediaFileUri(MEDIA_TYPE_IMAGE); intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri); intent.putExtra("android.intent.extras.CAMERA_FACING",1); // start the image capture Intent startActivityForResult(intent,CAMERA_CAPTURE_IMAGE_REQUEST_CODE); }
解决方法
java的
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Uri photoUri = Uri.fromFile(getoutputPhotoFile()); intent.putExtra(MediaStore.EXTRA_OUTPUT,photoUri); intent.putExtra("android.intent.extras.CAMERA_FACING",1); startActivityForResult(intent,CAMERA_PHOTO_REQUEST_CODE);
其他/替代解决方案
private Camera openFrontFacingCameraGingerbread() { int cameraCount = 0; Camera cam = null; Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); cameraCount = Camera.getNumberOfCameras(); for (int camIdx = 0; camIdx < cameraCount; camIdx++) { Camera.getCameraInfo(camIdx,cameraInfo); if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { try { cam = Camera.open(camIdx); } catch (RuntimeException e) { Log.e(TAG,"Camera Failed to open: " + e.toString()); } } } return cam; }
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="false" /> <uses-feature android:name="android.hardware.camera.front" android:required="false" />
only available in Gingerbread(2.3) and Up Android Version.
否则你也可以查看这些例子
希望它可以帮助你..
原文地址:https://www.jb51.cc/android/316635.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。