跪求大神帮忙解决以下android手机拍照功能的问题,使用provider会导致APP打开时闪退,进不去

跪求大神帮忙解决以下android手机拍照功能的问题,使用provider会导致APP打开时闪退,进不去,第1张

概述跪求大神帮忙解决以下android手机拍照功能的问题,使用provider会导致APP打开时闪退,进不去!!1在Manifest中添加了provider和相机对应的用户权限:<application<providerandroid:name="android.support.v4.content.FileProvider"android:autho

跪求大神帮忙解决以下androID手机拍照功能的问题,使用provIDer会导致APP打开时闪退,进不去!!1

在Manifest中添加了provIDer和相机对应的用户权限:

  <application    <provIDer            androID:name="androID.support.v4.content.fileProvIDer"            androID:authoritIEs="com.example.myapplication.fileprovIDer"            androID:exported="false"            androID:grantUriPermissions="true">            <Meta-data androID:name="androID.support.file_PROVIDER_PATHS"                androID:resource="@xml/file_paths"/>    </provIDer></application> <uses-permission androID:name="androID.permission.CAMERA" /> <uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE"/>

在MainActivity的onCreate中监听进入拍照功能的按钮(mTakePhoto)是否被按下

 mTakePhoto.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {//          //以下是最开始使用provIDer的拍照代码,在Manifest中加了provIDer后会导致APP闪退,注释掉provIDer后可以进入APP,但点击拍照按钮后也会闪//                //创建file对象,用于存储拍照后的图片;               file outputimage = new file(getExternalCacheDir(), "output_image.jpg");               try {                    if (outputimage.exists()) {                        outputimage.delete();                    }                    outputimage.createNewfile();                } catch (Exception e) {                    e.printstacktrace();                }                if (Build.VERSION.SDK_INT >= 24) {                //兼容Android7.0 使用共享文件的形式                    imageUri = fileProvIDer.getUriForfile(MainActivity.this,                            "com.example.myapplication.fileprovIDer", outputimage);                } else {                    imageUri = Uri.fromfile(outputimage);                }                //启动相机程序                Intent intent = new Intent("androID.media.action.IMAGE_CAPTURE");                intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri );                startActivityForResult(intent, TAKE_PHOTO);            }        });

在下面这个目录下创建了file_path.xml文件,文件内容见下方代码

<?xml version = "1.0" enCoding = "utf-8"?><paths xmlns:androID = "http://schemas.androID.com/apk/res/androID">    <external-path name = "my_images" path = "/sdcard/DCIM/camera"></external-path>    </paths>

APP的界面如下图,忽略其他功能,只需看take_photo,正常的逻辑是点击该按钮进入相机功能,但如果如上述添加provIDer,根本连APP都打不开,这个页面是在manifest中注释掉provIDer那一段代码后才能看到的,但点击take_photo又会闪退,不知道是哪里错了,还请各位大神赐教。这是我第一次搞androID开发,以前完全没接触过,代码也都是按照网上的方法弄的,请大神们解释的时候说详细点,谢谢!

总结

以上是内存溢出为你收集整理的跪求大神帮忙解决以下android手机拍照功能的问题,使用provider会导致APP打开时闪退,进不去全部内容,希望文章能够帮你解决跪求大神帮忙解决以下android手机拍照功能的问题,使用provider会导致APP打开时闪退,进不去所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1111923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存