Qt for Android 調(diào)用系統(tǒng)攝像頭和相冊(cè)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在安卓上面要使用換頭像功能,就要涉及到調(diào)用系統(tǒng)攝像頭實(shí)時(shí)拍攝或者打開(kāi)系統(tǒng)相冊(cè)來(lái)獲取照片,一般前面是我使用jni,直接再qt上面寫(xiě):
使用上面的方法進(jìn)行拍照,也會(huì)正常使用,但是在顯示圖片比較多的情況下調(diào)用該方法,一般就會(huì)導(dǎo)致APP在后臺(tái)死掉或重啟,很莫名其妙。所以后來(lái)我也就放棄了這種寫(xiě)法,改為原生的寫(xiě)法。
下面貼出我原生java的寫(xiě)法:
打開(kāi)系統(tǒng)照相機(jī)方法:
首先貼出包名,免得使用會(huì)導(dǎo)致包名找不到,以前我就吃過(guò)這種虧
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代碼應(yīng)該就不會(huì)報(bào)錯(cuò)了,還報(bào)錯(cuò)可能就要靠各位自己的能力去找相應(yīng)對(duì)應(yīng)的包名庫(kù)了,好了,閑話(huà)少說(shuō),看代碼圖:
好了,上面打開(kāi)系統(tǒng)照相機(jī)就算是完美搞定了,下面再來(lái)說(shuō)說(shuō)如果用原生java方法來(lái)打開(kāi)系統(tǒng)相冊(cè):
OK,方法就是這么簡(jiǎn)單,運(yùn)用到的包名我上面也已經(jīng)提及貼出來(lái)了,下面再來(lái)看Qt的調(diào)用方法流程:
打開(kāi)系統(tǒng)照相機(jī)的調(diào)用方法:
打開(kāi)系統(tǒng)相冊(cè)的調(diào)用方法:
好了,基本上Qt調(diào)用原生照相機(jī)和相冊(cè)的程序就到此為止了,喜歡的朋友可以多多點(diǎn)贊。
想做攝像頭錄像的功能的可以看我這篇博客:Qt for Android 調(diào)用原生系統(tǒng)攝像頭進(jìn)行錄像并保存輸出
完整Demo:https://download.csdn.net/download/clinuxf/10294515