在安卓上面要使用换头像功能,就要涉及到调用系统摄像头实时拍摄或者打开系统相册来获取照片,一般前面是我使用jni,直接再qt上面写:

QmQCRk2pjCe6PPDzatOXfZ4mYdDoFaD79cxO2R

使用上面的方法进行拍照,也会正常使用,但是在显示图片比较多的情况下调用该方法,一般就会导致APP在后台死掉或重启,很莫名其妙。所以后来我也就放弃了这种写法,改为原生的写法。

下面贴出我原生java的写法:

打开系统照相机方法:

首先贴出包名,免得使用会导致包名找不到,以前我就吃过这种亏

import android.Manifest;import android.content.pm.PackageManager;import java.io.File;import android.os.Environment;import java.text.SimpleDateFormat;import android.Manifest;import android.content.pm.PackageManager;import android.provider.MediaStore;import android.os.Build;

使用以上包名后,再使用我下面的原生java代码应该就不会报错了,还报错可能就要靠各位自己的能力去找相应对应的包名库了,好了,闲话少说,看代码图:

QmQCRk2pjCe6PPDzatOXfZ4mYdDoFaD79cxO2R

好了,上面打开系统照相机就算是完美搞定了,下面再来说说如果用原生java方法来打开系统相册:

QmQCRk2pjCe6PPDzatOXfZ4mYdDoFaD79cxO2R

OK,方法就是这么简单,运用到的包名我上面也已经提及贴出来了,下面再来看Qt的调用方法流程:

打开系统照相机的调用方法:

391bNn6+d4pvP92cEsyMn6AQwAKPFoOtsEHeKyaQFunz4Xp+6Mz4VMDD42ftstIbWEr0Ppr9F23q+U7THYW4BouH6Xb0LSuA8mxotuyiY9Ic02qn

打开系统相册的调用方法:

cZSoOpT4Y6SQDbzBmQnGyxBIF7GjVtjS9RvmDRx+0xpc2L34oBz1deYhG5PW6w3

好了,基本上Qt调用原生照相机和相册的程序就到此为止了,喜欢的朋友可以多多点赞。

想做摄像头录像的功能的可以看我这篇博客:Qt for Android 调用原生系统摄像头进行录像并保存输出

完整Demo:https://download.csdn.net/download/clinuxf/10294515

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐