Failed to find configured root that contains

#17981 java.lang.IllegalArgumentException

Failed to find configured root that contains /data/data/xxxxx/cache/xxx/Image/temp.jpg

出错堆栈

1	android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:712)
2	android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:401)
3	xxxx.fragment.MineFragment.void choseHeadImageFromCameraCapture()(MineFragment.java:407)
4	xxxxx.fragment.MineFragment.void access$600(xxxxx.fragment.MineFragment)(MineFragment.java:78)
5	xxxxx.fragment.MineFragment$6.void onSucceed(int,java.util.List)(MineFragment.java:343)
6	com.yanzhenjie.permission.DefaultRequest.void callbackSucceed()(DefaultRequest.java:157)
7	com.yanzhenjie.permission.DefaultRequest.void start()(DefaultRequest.java:110)
8	xxxxx.fragment.MineFragment.void startScanWithUnkonwPermission()(MineFragment.java:351)
9	xxxxxx.fragment.MineFragment.void onClick(android.view.View)(MineFragment.java:282)
10	xxxxx.view.dialog.MoreSelectDialog.void onClick(android.view.View)(MoreSelectDialog.java:65)
11	android.view.View.performClick(View.java:6597)
12	android.view.View.performClickInternal(View.java:6574)
13	android.view.View.access$3100(View.java:778)
14	android.view.View$PerformClick.run(View.java:25885)
15	android.os.Handler.handleCallback(Handler.java:873)
16	android.os.Handler.dispatchMessage(Handler.java:99)
17	android.os.Looper.loop(Looper.java:193)
18	android.app.ActivityThread.main(ActivityThread.java:6680)
19	java.lang.reflect.Method.invoke(Native Method)
20	com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
 Intent intentFromCapture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intentFromCapture.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        
        File file = new File(FileUtil.getInstance().getTempImgPath());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            mCameraTempUri = FileProvider.getUriForFile(getContext().getApplicationContext(), "xxxxx.fileProvider", file);
        } else {
            mCameraTempUri = Uri.fromFile(file);
        }
        if (mCameraTempUri != null) {
            intentFromCapture.putExtra(MediaStore.EXTRA_OUTPUT, mCameraTempUri);
            intentFromCapture.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
        }
        startActivityForResult(intentFromCapture, CODE_CAMERA_REQUEST);
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path path="." name="external_storage_root" />
</paths>

将xml文件中的 external-path 替换成 root-path,不过此时提示我 Element root-path is not allowed here

替换成下面的代码就可以了,要加一个resources标签即可

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <paths>
          <root-path path="" name="camera_photos" />
    </paths>
</resources>

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值