Путь Android-провайдера для камеры и безопасности - PullRequest
0 голосов
/ 02 июня 2018

Я следовал этой статье , чтобы сделать снимок в моем приложении, однако в статье автор дает путь . для 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>

То, что точно соответствует . и может ли это быть проблемой безопасности?

1 Ответ

0 голосов
/ 02 июня 2018

То, что точно соответствует .

Это относится к каталогу, указанному вашим элементом.В случае <external-path>, то есть Environment.getExternalStorageDirectory().

Если вместо . у вас было foo, это указывало бы на подкаталог foo/ вкаталог, идентифицируемый вашим элементом.

может ли это быть проблемой безопасности?

Только если вы делаете что-то действительно странное в своем коде Java.

A FileProvider не может быть экспортировано.Доступ к контенту, обслуживаемому этим провайдером, возможен только в следующих случаях:

  • Ваше приложение
  • Любые приложения, которым вы предоставляете разрешение на использование кода Java в своем приложении

Как правило, вы предоставляете разрешение через FLAG_GRANT_READ_URI_PERMISSION и / или FLAG_GRANT_WRITE_URI_PERMISSION на Intent.Это предоставляет доступ на чтение или запись к одному приложению, которое обрабатывает Intent для Uri, который находится внутри этого Intent.Это очень ограниченное разрешение, и вам необходимо успешно использовать FileProvider.

Если вы обнаружите, что предоставляете разрешения другими способами, большему количеству приложений и большему количеству контента, то, возможно, естьпроблема безопасности.Но, опять же, он связан с вашим Java-кодом, а не с метаданными FileProvider.

...