- 在res/xml目錄(如沒有xml目錄請新建)下新建file_paths.xml文件(文件名自定義渐白,這里以file_paths為例)色瘩。
- 在新建的file_paths.xml文件中,簡單代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="my_path" //自定義
path="" />
</paths>
<paths>中不僅有<external-path>,還有另外幾種path,各自對應不同的存儲目錄铜幽。這里未做深究滞谢。在使用時還要注意對應權(quán)限的設置。
- 在AndroidManifest.xml清單文件中的<application></application>塊中添加<provider></provider>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="應用包名" //一般為應用包名
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/files_path" /> //與res/xml目錄中新建的xml文件對應
</provider>
- 代碼中使用
Uri uri = FileProvider.getUriForFile(context, FILE_PROVIDER_AUTHORITY, file);
其中除抛,F(xiàn)ILE_PROVIDER_AUTHORITY 與AndroidManifest.xml清單文件中<provider>的android:authorities屬性值對應狮杨。