我試圖更新我的代碼,它獲取數據庫文件。我試圖用FileProvider代替。Android的FileProvider.GetUriForFile切斷了URI的開始
我有點卡住,因爲原始文件路徑是"/storage/emulated/0/Android/data/com.abc/files/abcMobile.db3」
我需要它由FileProvider.GetUriForFile
返回到包括URI「/存儲/模擬/ 0 /「在它的開始。
這裏是我的代碼:
Log.Info ("directory", GetDirectory (dir).ToString());
Log.Info ("filename", filename);
File newFile = new File (GetDirectory (dir).AbsolutePath, "/" + filename);
Android.Net.Uri androidContentUri = FileProvider.GetUriForFile (Application.Context, Application.Context.PackageName + ".fileprovider", newFile);
System.Uri systemContentUri = SystemUri (androidContentUri);
return systemContentUri;
在上面我已經創建了具有"/storage/emulated/0/Android/data/com.abc/files/abcMobile.db3」
的路徑,但是當我的文件傳遞給FileProvider.GetUriForFile()
這似乎創造了一個一Android.Net.URI文件中的代碼,我將它投射到System.Net.URI
,變成{content://com.abc.fileprovider/Android/data/com.abc/files/abcMobile.db3}
。
我只需要弄清楚爲什麼它從Android.Net.Uri
開始刪除"/storage/emulated/0/「
,並停止發生,然後它應該工作。有任何想法嗎?