一直都想把外部调用camera拍照研究一下,抽了好几天下班时间终于完成了。
代码由本人亲测,日志中提供的代码为部分代码。如果提供的源码无法运行通过,可能有以下几个原因:1,没有SD卡,这一点我兼容没有做好。2,摄像头有问题。代码在最后提供!如有问题请留言。我是菜鸟,勿喷。
http://developer.android.com/training/camera/photobasics.html 这个是google的教程,我认为他几乎把所有的有关于外部调用Camera的内容都写了,所以这里我就翻译一下大体过程
首先是Request Camera Permission
这里主要是APK依赖告诉别人你需要一个camera之类的。
其实重点就是先要检测你的手机是否包含FEATURE_CAMERA
/*
* 判断是否具有摄像头功能
*/
private boolean isSupportCameraFeature(MainActivity context){
if(mIsSupportCameraFeature!=(-1)) {
return mIsSupportCameraFeature==SUPPORTED_CAMERA;
}else{
PackageManager pm= context.getPackageManager();
FeatureInfo[] features=pm.getSystemAvailableFeatures();
for(FeatureInfo f : features){
Log.v("xxxx","f"+f.name);
if(f.name.equals(PackageManager.FEATURE_CAMERA)) {
mIsSupportCameraFeature = SUPPORTED_CAMERA;
//Toast.makeText(this, "has camera", 1).show();
return true