進行文件讀寫,勾選了權限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
依然報錯
Access to the path 'xxx' is denied
原因:
根據所使用的Android版本的不同,即使在6.0或更高版本的清單中添加了權限,用戶也必須在應用運行時顯式啟用該權限,而在較低版本中則需要在安裝過程中請求該權限。 例如,在啟動應用程序時,創建一種方法來檢查它是否已啟用,未啟用則請求啟用它的權限。
private void CheckAppPermissions()
{
if ((int)Build.VERSION.SdkInt < 23)
{
return;
}
else
{
if (PackageManager.CheckPermission(Manifest.Permission.ReadExternalStorage, PackageName) != Permission.Granted
&& PackageManager.CheckPermission(Manifest.Permission.WriteExternalStorage, PackageName) != Permission.Granted)
{
var permissions = new string[] { Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage };
RequestPermissions(permissions, 1);
}
}
}
也可以使用支持庫來執行此操作,該庫更簡單,並且無需檢查Android版本。 有關更多信息,請查閱Google文檔
參考資料
Xamarin-System.UnauthorizedAccessException: Access to the path is denied
