編寫:jdneo - 原文:http://developer.android.com/training/secure-file-sharing/index.html
一個程序經常需要向其他程序提供一個甚至多個文件。例如,當我們用圖片編輯器編輯圖片時,被編輯的圖片往往由圖庫應用程序所提供;再比如,文件管理器會允許用戶在外部存儲的不同區(qū)域之間復制粘貼文件。這里,我們提出一種讓應用程序可以分享文件的方法:即令發(fā)送文件的應用程序對索取文件的應用程序所發(fā)出的文件請求進行響應。
在任何情況下,將文件從我們的應用程序發(fā)送至其它應用程序的唯一的安全方法是向接收文件的應用程序發(fā)送這個文件的content URI,并對該URI授予臨時訪問權限。具有URI臨時訪問權限的content URI是安全的,因為他們僅應用于接收這個URI的應用程序,并且會自動過期。Android的FileProvider組件提供了getUriForFile()方法創(chuàng)建一個文件的content URI。
如果希望在應用之間共享少量的文本或者數(shù)字等類型的數(shù)據(jù),應使用包含該數(shù)據(jù)的Intent。要學習如何通過Intent發(fā)送簡單數(shù)據(jù),可以閱讀:Sharing Simple Data。
本課主要介紹了如何使用Android的FileProvider組件所創(chuàng)建的content URI在應用之間安全的共享文件。當然,要做到這一點,還需要給接收文件的應用程序訪問的這些content URI授予臨時訪問權限。