Partajarea fișierelor de aplicații Android
În acest tutorial:
Ar trebui să citiți, de asemenea,
Pentru a oferi siguranță depune aplicația la o altă aplicație, trebuie să configurați programul astfel încât acesta oferă un descriptor de fișier securizat ca un conținut de URI. Componenta Android FileProvider generează un URI pentru fișierele de conținut pe baza specificațiilor pe care le furnizați XML. Acest tutorial vă va arăta cum să adăugați implementarea standard pentru FileProvider cererea dumneavoastră, și cum să specificați fișierele pe care doriți să le ofere alte aplicații.
Notă: clasa FileProvider face parte din v4 de sprijin Biblioteca. Pentru informații cu privire la modul de a adăuga la biblioteca aplicației, consultați. Configurarea Biblioteca Support.
Specificați furnizorul de fișiere
Determinarea FileProvider pentru aplicația dvs. necesită intrarea în manifest. Această intrare specifică competențele care vor fi utilizate în formarea conținutului URI, precum și numele unui fișier XML care definește directorul aplicației dvs., care va fi folosit pentru accesul publicului.
Codul de mai jos arată cum să le adăugați în manifest dvs.
În acest exemplu, Android: autoritățile definește autoritatea URI pe care doriți să îl utilizați pentru URI-ul generat FileProvider conținut. În exemplul, autoritatea este com.example.myapp.fileprovider. Pentru propria aplicație, specificați acreditările, constând în valori de elemente Android: pachet cu un șir de caractere «fileprovider», a adăugat la acesta. Pentru a afla mai multe despre importanța autorității, a se vedea conținutul URI și documentația pentru Android :. atribut Autoritățile.
Specificarea directoarelor de partajare
După adăugarea FileProvider manifestul cererii dumneavoastră, trebuie să specificați directoarele care conțin fișiere partajate. Pentru a specifica directoarele, începe prin a crea fișier filepaths.xml în res / XML / subdirector al proiectului. În acest fișier, specificați directorul prin adăugarea unui element XML pentru fiecare director. Următorul fragment prezintă un exemplu de conținuturi res / xml / filepaths.xml. Fragment demonstrează, de asemenea, modul de a deschide accesul la fișiere subdirector / director în spațiul de stocare internă:
În acest exemplu,
Notă: fișierul XML este singura modalitate de a specifica folderele pe care doriți să le deschidă accesul public; nu puteți adăuga directorul de software.
De exemplu, dacă definiți FileProvider în conformitate cu fragmentele de cod din acest tutorial, și solicitați URI pentru un default_image.jpg fișier de conținut. FileProvider returnează următorul URI: