【问题标题】:How to read file form sd card Android 4.4 Xamarin如何从 sd 卡读取文件 Android 4.4 Xamarin
【发布时间】:2016-02-27 00:41:18
【问题描述】:

我正在创建一个应用程序,我想在其中读取 sd 卡中的文件,然后使用另一个文件中的信息写入另一个文件。尝试读取文件时出现以下错误: System.UnauthorizedAccessException: Access to the path 'sdcard/android/data/App1.App1/files/' is denied.

读取功能:

private string ReadFile(string fileName)
{
      var path = "sdcard/android/data/App1.App1/files/";
      var filePath = Path.Combine(path.ToString(), fileName);
      string text = File.ReadAllText(path.ToString());
      return text;
}

Android 清单:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="App1.App1" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="16" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application android:label="Scout" android:icon="@drawable/Icon" android:theme="@style/CustomActionBarTheme"></application>
</manifest>

【问题讨论】:

标签: android xamarin android-4.4-kitkat android-sdcard readfile


【解决方案1】:

我已经解决了这个问题,发现我试图读取一个文件夹而不是文件本身。当使用 filePath int 切换变量路径读取所有文本函数时,错误消失了。

【讨论】:

    【解决方案2】:

    别忘了添加

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    进入清单。这允许在 SD 卡上读写。

    更多关于uses-permission的详情

    也可能是你的模拟器和你的sd卡有问题,阅读this topic

    【讨论】:

    • 我已经这样做了,我可以写入 sd 卡,但仍然无法读取,即使是从我的应用程序指定目录。至于使用模拟器,我是在自己的手机上调试应用。
    • XAMARIN 中并不真正关心权限。默认情况下,平台会处理。
    • 这里的问题,使用 XAMARIN 跨平台开发工具.. 从 SD 卡读取和写入文件/文件夹非常困难。
    猜你喜欢
    • 2011-02-23
    • 2011-10-28
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多