突然 System.UnauthorizedAcessException 在一台设备上
Suddenly System.UnauthorizedAcessException on one device
我正在用 2 台设备交替调试我的 Xamarin.Android 应用程序
- 三星 Galaxy Tab A (Android 9) 10" 平板电脑
- 华为荣耀 8 (Android 8) 5.2" 智能手机
在我的 MainLauncher-Activity 上直接询问用户权限(Camera、RecordAudio、ReadExternalStorage、WriteExternalStorage 等)
权限检查后,应用程序将新条目写入日志文件。
直到现在(2019 年 9 月 10 日)在所有设备上一切正常
在我的 Huawei Honor 上,我得到一个 System.UnauthorizedAccessException:'Access to path is denied.'
我不知道如何处理这个错误。
- 重新安装并重新授予权限没有帮助(平板电脑上的相同过程不会导致错误)
只有Android9还有效!
- Lenovo Yoga Tab3 Android 6 - 错误
- 三星 Galaxy Android 7.1 - 错误
- Huawei Hono 8 Android 8 - 错误
- Huawei MediaPad M5 Android 8 - 错误
- Samsung Galaxy Tab A Android 9 - 工作正常
- 三星 Galaxy S10 Android 9 - 工作正常
昨天,所有设备都工作正常
编辑:
我可以使用此线程中提到的解决方法解决此问题
https://github.com/xamarin/xamarin-android/issues/3426
使用
var fileBytes = File.ReadAllBytes(tempfile);
File.WriteAllBytes(filePath, fileBytes);
而不是
File.Copy(tempfile, filePath, true);
使用
var fileBytes = File.ReadAllBytes(tempfile);
File.WriteAllBytes(filePath, fileBytes);
而不是
File.Copy(tempfile, filePath, true);
是解决此问题的方法。
您可以在此处找到公开讨论
我正在用 2 台设备交替调试我的 Xamarin.Android 应用程序
- 三星 Galaxy Tab A (Android 9) 10" 平板电脑
- 华为荣耀 8 (Android 8) 5.2" 智能手机
在我的 MainLauncher-Activity 上直接询问用户权限(Camera、RecordAudio、ReadExternalStorage、WriteExternalStorage 等)
权限检查后,应用程序将新条目写入日志文件。 直到现在(2019 年 9 月 10 日)在所有设备上一切正常
在我的 Huawei Honor 上,我得到一个 System.UnauthorizedAccessException:'Access to path is denied.'
我不知道如何处理这个错误。
- 重新安装并重新授予权限没有帮助(平板电脑上的相同过程不会导致错误)
只有Android9还有效!
- Lenovo Yoga Tab3 Android 6 - 错误
- 三星 Galaxy Android 7.1 - 错误
- Huawei Hono 8 Android 8 - 错误
- Huawei MediaPad M5 Android 8 - 错误
- Samsung Galaxy Tab A Android 9 - 工作正常
- 三星 Galaxy S10 Android 9 - 工作正常
昨天,所有设备都工作正常
编辑: 我可以使用此线程中提到的解决方法解决此问题 https://github.com/xamarin/xamarin-android/issues/3426
使用
var fileBytes = File.ReadAllBytes(tempfile);
File.WriteAllBytes(filePath, fileBytes);
而不是
File.Copy(tempfile, filePath, true);
使用
var fileBytes = File.ReadAllBytes(tempfile);
File.WriteAllBytes(filePath, fileBytes);
而不是
File.Copy(tempfile, filePath, true);
是解决此问题的方法。 您可以在此处找到公开讨论