欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 调用系统相机失败解决方案

程序员文章站 2022-03-23 19:34:50
android 调用相机失败解决方案。 这里我就不详细介绍了直接贴代码: 在拍照按钮的回调中加入如下代码: intent takepictureintent = new intent(media...

android 调用相机失败解决方案。

这里我就不详细介绍了直接贴代码:
在拍照按钮的回调中加入如下代码:

intent takepictureintent = new intent(mediastore.action_image_capture);
uri imguri = createimguri();
//uri imguri = uri.parse("file:///" + environment.getexternalstoragedirectory().getpath() + "/vege/temp.jpg");
takepictureintent.putextra(mediastore.extra_output, imguri);
startactivityforresult(takepictureintent, 1);

其中 createimguri 函数是由一个文件路径生成一个 uri ,具体 uri 例子在下面注释中给出。在当前 activity 中实现下面函数:

    @override
    protected void onactivityresult(int requestcode, int resultcode, intent data) 
    super.onactivityresult(requestcode,resultcode,data);
        if (activity_camera_full_code == requestcode){
            if (result_ok == resultcode){
                //其中照片会被存储到 上面 uri 所对应的文件中
            }
        }
    }

坑1:必须给到相机权限:

androidmanifest.xml 中加入<uses-permission android:name="android.permission.camera">,最坑的是 还要求动态申请权限,这个网上有很多例子。

坑2:上文中 uri 所对应的文件,如果其所在的文件夹不存在的话,是无法保存文件的,关键是不报错,需要自己手动 makedirs 一下。