微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拒绝访问路径“ /storage/emulated/0/Android/data/com.companyname/files”

如何解决拒绝访问路径“ /storage/emulated/0/Android/data/com.companyname/files”

我想在Android平台上阅读xamarin.forms中的XML文件。我可以到达但无法打开它。

打开后,将显示错误消息“拒绝访问路径'/storage/emulated/0/Android/data/com.companyname/files'。”

这是我的manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.safaksayar">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="25" />

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  
  
  
    <application android:label="Safaksayar.Android"  >


      <receiver android:name=".BootReceiver" android:enabled="true">
        <intent-filter>
          <action android:name="android.intent.action.BOOT_COMPLETED"></action>
        </intent-filter>
      </receiver>

    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  
</manifest>

我还将此代码块编写到Mainactivity.cs的OnCreate()方法中。

  var permissions = new string[] { Manifest.Permission.ReadExternalStorage,Manifest.Permission.WriteExternalStorage };
                RequestPermissions(permissions,77);
                if (ContextCompat.CheckSelfPermission(this,Manifest.Permission.WriteExternalStorage) != (int)Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(this,new string[] { Manifest.Permission.WriteExternalStorage },0);
                }
    
                if (ContextCompat.CheckSelfPermission(this,Manifest.Permission.ReadExternalStorage) != (int)Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(this,new string[] { Manifest.Permission.ReadExternalStorage },0);
                }

这是我访问XML文件代码

var folderPath = DependencyService.Get<IFileSystem>().GetExternalStorage();

if (Device.OS == TargetPlatform.Android) {

                using (System.IO.StreamReader reader = new System.IO.StreamReader(folderPath))
                {
                    XmlSerializer serializer2 = new XmlSerializer(typeof(Fikralarhepsi));
                    var sounds = (Fikralarhepsi)serializer2.Deserialize(reader);
                }
            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。