Android 摄像头和安全的提供程序路径

Android provider path for camera and security

我按照this article在我的应用程序中拍照,但是在文章中作者给出了FileProvider的路径.

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

. 完全对应的内容是否是安全问题?

To what corresponds exactly .

指的是你的元素标识的目录。在the case of <external-path>中,即Environment.getExternalStorageDirectory().

如果您使用 foo 而不是 .,那将指向由您的元素标识的目录下的 foo/ 子目录。

can it be a security issue?

仅当您在 Java 代码中做了一些非常奇怪的事情时。

一个FileProvider无法导出。唯一可以访问该提供商提供的内容的是:

  • 您的应用程序
  • 您从应用程序中的 Java 代码授予权限的任何应用程序

通常,您通过 FLAG_GRANT_READ_URI_PERMISSION and/or FLAG_GRANT_WRITE_URI_PERMISSIONIntent 上授予权限。这授予对一个应用程序的读取或写入访问权限,该应用程序为 Intent 中的 Uri 处理 Intent。这是一个非常有限的权限授予,它是您成功使用 FileProvider.

所必需的

如果您发现自己以其他方式向更多应用程序和更多内容授予权限,则可能存在安全问题。但是,同样,它与您的 Java 代码相关联,而不是 FileProvider 元数据。