AndroidManifest.xml
新增 <provider>
sectionYOUR_PACKAGE_NAME
為 App 唯一識別的 package name
res
資料夾底下新增 raw/sample_pdf.pdf
sample_pdf.pdf
為您要 demo 的 pdf
檔
res
資料夾底下新增 xml/file_provider_paths.xml
<files-path>
設定檔案共享的目錄,此指定內部私有空間中的 files
資料夾 (data/../YOUR_PACKAGE_NAME/files
);path="."
表示允許分享給應用程式的files
的子目錄,"."
表示 files
資料夾底下的所有檔案都允許分享;name="files_shared"
表示子目錄名稱的別名,當傳分享檔案的位置給其他應用程式,產生 content:// URI
時,會使用此別名來代表實際的檔案路徑。其他屬性代表的意義可參考
因 Android 無法直接開啟既有的檔案(res/raw/sample_pdf
),所以要先拷貝一份至 App 本身的儲存空間,再從那裡取出檔案位置,再開啟檔案。
Reading .pdf from raw folder in project
How to open a pdf stored either in res/raw or assets folder?
File Provider
Android 跨 App 分享檔案 — FileProvider introduced on Android N
File 相關