Aby bezpiecznie oferować plik z Twojej aplikacji innej aplikacji, musisz skonfigurować jej udostępnianie
    bezpieczny uchwyt pliku w postaci identyfikatora URI treści. Android
    Komponent FileProvider generuje identyfikatory URI treści dla
    zgodnie ze specyfikacją podaną w pliku XML. Z tego wykładu dowiesz się, jak dodać domyślne
    implementacji FileProvider w Twojej aplikacji i dowiedz się,
    określić pliki, które chcesz zaoferować innym aplikacjom.
  Uwaga: klasa FileProvider jest częścią
  Biblioteka główna AndroidX. Informacje na temat
  o dodawaniu tej biblioteki do aplikacji, zobacz
  Deklarowanie zależności.
Podaj FileProvider
    Aby zdefiniować FileProvider dla aplikacji, musisz wpisać w
    pliku manifestu. Ten wpis określa uprawnienia do użycia przy generowaniu identyfikatorów URI treści oraz
    nazwa pliku XML określającego katalogi, które może udostępniać aplikacja.
    Ten fragment kodu pokazuje, jak dodać do pliku manifestu
    Element <provider>, który określa
    FileProvider, klasa autoryzacji i
    Nazwa pliku XML:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <application ...> <provider android:name="androidx.core.content.FileProvider" android:authorities="com.example.myapp.fileprovider" android:grantUriPermissions="true" android:exported="false"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths" /> </provider> ... </application> </manifest>
    W tym przykładzie atrybut android:authorities określa urząd URI
    którego chcesz używać w przypadku identyfikatorów URI treści generowanych przez
    FileProvider
    W tym przykładzie urząd to com.example.myapp.fileprovider. Dla siebie
    aplikacji, określ organ składający się z jej
    Wartość android:package z ciągiem znaków „fileprovider” który został do niego dołączony. Aby dowiedzieć się więcej,
    o wartości autorytetu, zobacz temat
    Identyfikatory URI treści oraz dokumentacja
    android:authorities.
    Element podrzędny <meta-data> klucza
    <provider> wskazuje plik XML określający katalogi, które chcesz
    w udostępnianiu. Atrybut android:resource to ścieżka i nazwa pliku (bez
    z rozszerzeniem .xml.Zawartość tego pliku została opisana w następnej sekcji.
Określ katalogi do udostępniania
    Gdy dodasz FileProvider do pliku manifestu aplikacji,
    musisz wskazać katalogi zawierające pliki, które chcesz udostępnić. Aby podać parametr
    zacznij od utworzenia pliku filepaths.xml w res/xml/
    lub podkatalogu projektu. W tym pliku określ katalogi, dodając element XML dla
    każdego katalogu. Ten fragment kodu zawiera przykładową zawartość
    res/xml/filepaths.xml Fragment kodu pokazuje też, jak udostępnić podkatalog
    katalogu files/ w pamięci wewnętrznej:
<paths> <files-path path="images/" name="myimages" /> </paths>
    W tym przykładzie tag <files-path> współużytkuje katalogi w tagach
    files/ w pamięci wewnętrznej aplikacji. Atrybut path
    udostępnia podkatalog images/ witryny files/.  name
    informuje element FileProvider, że ma dodać segment ścieżki
    myimages do identyfikatorów URI zawartości dla plików w podkatalogu files/images/.
    Element <paths> może mieć wiele elementów podrzędnych, z których każdy określa inne
    katalog do udostępnienia. Oprócz elementu <files-path> możesz też
    używaj elementu <external-path> do udostępniania katalogów w pamięci zewnętrznej.
    element <cache-path> służący do udostępniania katalogów w wewnętrznej pamięci podręcznej
    katalogu. Więcej informacji o elementach podrzędnych, które określają katalogi udostępnione, znajdziesz tutaj:
    Dokumentacja źródłowa FileProvider.
Uwaga: plik XML to jedyny sposób określania katalogów, udostępniać, nie da się dodać katalogu programowo.
    Masz już pełną specyfikację: FileProvider
    który generuje identyfikatory URI treści dla plików znajdujących się w katalogu files/ aplikacji
    pamięci wewnętrznej ani plików w podkatalogach files/. Gdy aplikacja generuje
    identyfikator URI treści, zawiera informacje o urzędzie określonym w
    <provider> element (com.example.myapp.fileprovider),
    ścieżkę myimages/ oraz nazwę pliku.
    Jeśli na przykład zdefiniujesz właściwość FileProvider zgodnie z
    i wysyłać żądanie identyfikatora URI treści,
    default_image.jpg, FileProvider zwraca wartość
    ten identyfikator URI:
content://com.example.myapp.fileprovider/myimages/default_image.jpg
Dodatkowe informacje znajdziesz tutaj:
