Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法获取提供程序androidx.core.content.FileProvider:java.lang.IllegalArgumentException:缺少android.support.FILE\u provider\u路径元数据?_Java_Android - Fatal编程技术网

无法获取提供程序androidx.core.content.FileProvider:java.lang.IllegalArgumentException:缺少android.support.FILE\u provider\u路径元数据?

无法获取提供程序androidx.core.content.FileProvider:java.lang.IllegalArgumentException:缺少android.support.FILE\u provider\u路径元数据?,java,android,Java,Android,我看过很多这样的帖子,但仍然不知道问题出在哪里。我尝试更改文件_paths.xml中的路径和名称 文件_paths.xml: <?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path name="pirosfogo_images" path="storage/emulated/0/pi

我看过很多这样的帖子,但仍然不知道问题出在哪里。我尝试更改文件_paths.xml中的路径和名称

文件_paths.xml:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="pirosfogo_images"
path="storage/emulated/0/pictures/"/>
</paths>

为什么会出现错误?

这是因为您在错误的父项(
标记)中指定了
标记。它应该在
标记中指定。(下面的两个代码段显示了区别:)


这是否回答了您的问题?
android.support.FILE\u PROVIDER\u路径
元数据应该设置在
标签内。不,我已经看过这个问题及其答案,但感谢我在前面的评论中提到的,出现错误的原因是您在错误的父项中指定了
元数据
——它应该是
标记,而不是
标记。您能告诉我这是什么样子吗?自动完成文本没有显示给我使用此修复程序,我仍然得到以下错误:java.lang.RuntimeException:无法获取提供程序androidx.core.content.FileProvider:java.lang.IllegalArgumentException:缺少android.support.FILE\u provider\u路径元数据我以某种方式恢复了更改,并认为我遇到了另一个问题,但事实上,这就是问题所在。
<application
    ...
    <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="com.kijevigombooc.pirosfogo.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true"/>
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</application>
void takePhoto(){
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
    {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 110);
    }
    else
    {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (intent.resolveActivity(getPackageManager()) != null)
        {
            File photoFile = createPhotoFile();
            if(photoFile != null){
                pathToFile = photoFile.getAbsolutePath();
                Uri photoURI = FileProvider.getUriForFile(ProfileEdit.this, "adada", photoFile);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
                startActivityForResult(intent, REQUEST_CAMERA);
            }
        }
    }
}
private File createPhotoFile() {
    String name = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    File storageDir = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
    File image = null;
    try{
        image = File.createTempFile(name, ".jpg", storageDir);
    } catch(Exception e){}
    return image;
}