问题描述
我想在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);
}
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 (将#修改为@)