Android Compose 新闻App(八)抽屉布局、动态权限、拍照返回 前言 正文 一、完善新闻数据 ① ApiService ② NetworkRequest ③ HomeRepository 然后我们在AndroidManifest.xml中添加权限配置 <uses-permission android:name="android.permission.CAMERA"/> 下面我们可以想一下权限请求的入口在哪里 还记得之前在Android中的ActivityResult API吗? >(null) } mCameraUri用于保存拍照返回的图片,imageUir 用于显示在页面上,然后我们可以写出这样的代码: //TakePicture 调用相机,拍照后将图片保存到开发者指定的 (), onResult = { if (it) imageUir.value = mCameraUri }) 在相机返回时,判断是否有拍照,有的话就对imageUir 进行赋值,赋值后状态会改变
; 8 import android.util.Log; 9 import android.view.View; 10 import android.widget.Button; 11 import android.widget.FrameLayout; 12 import android.app.Activity; 13 import android.content.Context; 14 ; import android.hardware.Camera; import android.util.Log; import android.view.SurfaceHolder; import > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal android:id="@+id/camera_preview" android:layout_width="fill_parent" android:
大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个“拍照”按钮。直接上代码! android:id="@+id/camera_preview" android:layout_width="800dip" android:layout_height="600dip" android android:name="android.permission.CAMERA" / <uses-feature android:name="android.hardware.camera" / <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" / 源码下载:Android 实现拍照功能 以上就是本文的全部内容,希望对大家的学习有所帮助。
在手机上面实现,设置一段时间(以秒计时)之后,自动拍照,适用于摄影师建立一个场景,之后设置时间,再进入场景。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout android:layout_height="fill_parent" android:orientation="vertical" <Button android --下面的可不需要-- <uses-feature android:name="android.hardware.camera" / <uses-feature android:name="android.hardware.camera.autofocus ; import android.text.TextWatcher; import android.util.Log; import android.view.Menu; import android.view.SurfaceHolder
最近得到了一个需求,在后台拍照并保存 public void onTakePhotoClicked() { final SurfaceView preview = new SurfaceView( this); SurfaceHolder holder = preview.getHolder(); // deprecated setting, but required on Android params); } @Override public void onPictureTaken(byte[] bytes, Camera camera) { Log.e("zgj", "拍照结束 IOException e) { Log.d("zgj", "Error accessing file: " + e.getMessage()); } } 总结 以上所述是小编给大家介绍的Android 无预览拍照功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
本文实例为大家分享了Android实现静默拍照功能的具体代码,供大家参考,具体内容如下 1.申请权限(6.0以后要动态申请) <uses-permission android:name="android.permission.CAMERA " / <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ <uses-permission android ="500dp" </FrameLayout </LinearLayout 4.主类实现静默拍照: public class CameraActivity extends BaseActivity Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); // 设置1秒后自动拍照 //设置对焦模式,自动对焦 parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); //对焦成功后,自动拍照
拍照可以调用系统的相机进行拍照,拍完保存到相应的SD卡目录。最近要用到拍照这个功能,首先试了下调用相机拍照,保存到相应目录,然后用imageview显示的时候感觉,很模糊。可能是图片被压缩的太狠了。 所以自己使用Camera写了一个拍照的功能,拍出来的还挺清晰的,不过文件有点大一张图片差不多1.7M。如果想拍高清图可以使用下面的代码。 代码很简单,我就不做过多解释了。 ; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.content.Intent ; import android.hardware.Camera; import android.text.format.DateFormat; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.SurfaceHolder; import android.view.SurfaceView
方式进行预览拍照。 由于Camera在SurfaceView中是通过SurfaceHolder 使得Surfaceview能够预览Camera返回的数据,因此我们需要实现SurfaceHolder 的回调,实现代码如下: 判断存在宽或高相等的Size // 辗转计算宽高最接近的值 for (Camera.Size size: sizes) { // 如果宽高相等,则直接返回 " android:layout_height="wrap_content" android:text="拍照" /> <Button > 至此,通过SurfaceView + Camera API 预览拍照功能已经实现。
在android开发中, 在一些编辑个人信息的时候,经常会有头像这么一个东西,就两个方面,调用系统相机拍照,调用系统图库获取图片.但是往往会遇到各种问题: 1.oom 2.图片方向不对 3.activity android.database.Cursor; import android.net.Uri; import android.provider.MediaStore; import android.widget.Toast ; //在onActivityResult方法中根据requestCode和resultCode来获取当前拍照的图片地址。 //注意:这里有个问题,在有些机型当中(如SamsungI939、note2等)遇见了当拍照并存储之后,intent当中得到的data为空: /** * data = null 的情况主要是由于拍照的时候横屏了 , Toast.LENGTH_LONG).show(); return false; } /** * 获取从本地图库返回来的时候的URI解析出来的文件路径
本文实例为大家分享了Android实现无预览拍照功能的具体代码,供大家参考,具体内容如下 实现思路: 把预览的SurfaceView的宽高设置为肉眼看不出的值,例如0.1dp,其他的就是自定义相机的标准步骤了 android:orientation="vertical" <Button android:id="@+id/btn_test" android:layout_width ="wrap_content" android:layout_height="wrap_content" android:text="测试" android:layout_gravity 注意:宽高不能设置为0,否则不能拍照。 CameraKitVideo cameraKitVideo) { } }); } @OnClick(R.id.btn_test) public void onViewClicked() { //拍照
本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下 /** * 调用系统相机 */ private void takePhoto() { Uri uri = null getSDPath() { File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED
应朋友需求做了款拍照测距的APP,可以测出你到目标物体的距离。 欢迎star、下载 github地址:点击打开链接 主要难点: 1.自定义相机 2.SurfaceView双缓冲问题 3.别的也没啥了 README.md DistanceMeasure An android (for reference only) Android 拍照测距 (借用下smart distance的截图 , 如有不妥请告知) 使用方法: 输入目标物体的真实高度 动动手指用屏幕上的绿线圈住目标物体
最近在Android上做了拍照功能的开发。 业务场景是:点击界面(HTML5)上的拍照按钮会调用拍照的JS API,获取其返回照片文件的存储路径、扩展名以及照片文件的Base64字符串,然后在界面上显示图片。 ..."); } 2、如何将拍摄到的照片保存到存储中,而不只是生成一份缩略图数据返回。 private static final int ACTION_TAKE_PHOTO = 1; private Uri photoUri; /*** * 需要说明一下,以下操作使用照相机拍照,拍照后的图片会存放在相册中的 * 这里使用的这种方式有一个好处就是获取的图片是拍照后的原图 * 如果不实用ContentValues存放照片路径的话,拍照后获取的图片为缩略图不清晰 */ ContentValues values
拍照 private static final int TAKE_PICTURE = 0; void takePhotoClick() { if (Build.VERSION.SDK_INT > Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS); } else { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE grantResults[0] == PackageManager.PERMISSION_GRANTED) { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE Calendar.getInstance(Locale.CHINA)) + ".jpg"; Bundle bundle = data.getExtras(); //获取相机返回的数据 choose_photo_layout_click() { //调用相册 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
android:name="android.permission.INTERNET" / <! android:name="android.permission.ACCESS_NETWORK_STATE" / <uses-permission android:name="android.permission.ACCESS_WIFI_STATE " / <uses-feature android:name="android.hardware.camera" android:required="true" / <application android:allowBackup="true" android:icon="@mipmap/sgh" android:label="@string/app_name" android:supportsRtl ="true" android:hardwareAccelerated="true" android:theme="@style/AppTheme" <activity android:name
" android:text="拍照" android:textColor="#000" /> <View android:layout_width " android:text="取消" android:textColor="#000" /> </LinearLayout> 这是一个弹窗的布局文件,里面提供你选择拍照 : /** * 拍照 */ private void takePhoto() { if (! /** * 返回到Activity * @param requestCode * @param resultCode * @param data */ super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { //拍照后返回
从selectPhotoActivity中启动图册或者相机,再根据获取的uri进行裁剪,返回uri,再对这个uri执行一系列操纵。 拍照获取图片 private void takePhoto() { // 执行拍照前,应该先判断SD卡是否存在 String SDState = Environment.getExternalStorageState , takePhoto)中,设置了拍完照照片的存放路径takePhoto,在此情况下,部分机型的onActivityResult()中不会返回数据,即data.getData()为空,因为可以根据存放路径即可获取拍照图片 super.onActivityResult(requestCode, resultCode, data); } 因为在本activity中可能启动三个新的activity,即拍照 需要注意,拍完照的图片需要经过裁剪,即,只有从相册选取和裁剪返回的数据可以setRuselt(),故需要添加一个if语句加以判别。
应用场景: 在Android开发过程中,有时需要调用手机自身设备的功能,本文侧重摄像头拍照功能的调用。 ="wrap_content" android:layout_weight="1" android:id="@+id/main_camera" android:text="拍照"/ < MainActivity.this.finish(); break; default: break; } } } /** * 根据文件路径获取所需要文件,并将该文件封装成Bitmap对象返回 android:layout_width="match_parent" android:layout_height="wrap_content" android:text="拍照" / < 实现摄像头拍照功能 以上就是本文的全部内容,希望对大家的学习有所帮助。
一、背景介绍 最近在项目中遇到一个需求,实现一个后台拍照的功能。一开始在网上寻找解决方案,也尝试了很多种实现方式,都没有满意的方案。不过确定了难点:即拍照要先预览,然后再调用拍照方法。 二、方案介绍 方案实现步骤大致如下: 1.初始化拍照的预览界面(核心部分); 2.在需要拍照时获取相机Camera,并给Camera设置预览界面; 3.打开预览,完成拍照,释放Camera资源(重要 1.初始化拍照的预览界面 在测试的过程中发现,拍照的预览界面需要在可显示的情况下生成,才能正常拍照,假如是直接创建SurfaceView实例作为预览界面,然后直接调用拍照时会抛出native层的异常:take_failed ; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory ; import android.hardware.Camera.PictureCallback; import android.os.IBinder; import android.os.Message
本文实例为大家分享了Android实现拍照和录制视频功能的具体代码,供大家参考,具体内容如下 文档中的Camera 要使用Camera,首先我们先看一下文档中是怎么介绍的。 " / 然后,拍照的话,需要以下十步: 1. 如果有必要,修改上面所返回的Camera.Parameters对象,并调用setParameters(Camera.Parameters) 进行设置 4. 拍照之后,预览的展示会停止。如果想继续拍照,需要先再调用startPreview()。 9. 调用stopPreview()停止预览。 10. " android:onClick="takePhoto" android:text="拍照" / </LinearLayout Activity import android.graphics.Bitmap
数学作业批改(HCM)是腾讯云推出的速算题目智能批改产品。数学作业拍照批改,支持各种数学公式(比大小)、符号识别,能识别竖式、分式、脱式以及四则运算多种题型。
扫码关注腾讯云开发者
领取腾讯云代金券