zoukankan      html  css  js  c++  java
  • Xamarin.Android UnauthorizedAccessException: Access to the path is denied

    进行文件读写,勾选了权限

    <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

  • 相关阅读:
    UVA 1590 IP Networks
    UVA 12108
    HDUOJ 1042 N!
    UVA201 Squares
    UVaOJ 1339
    UVaOJ 202
    UVaOJ 100
    UVaOJ 10340
    第五章 跳跃表
    第四章 字典
  • 原文地址:https://www.cnblogs.com/Lulus/p/11927349.html
Copyright © 2011-2022 走看看