使用MAUI开发安卓App,能够实现读取U盘的文本文件,但是不能向U盘写入,提示'Access to the path '/storage/6EB835AAB83571A7/123.txt' is denied.',下面是一些代码片段,哪位朋友用过的,给点提示
已经开启的权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:supportsRtl="true"
android:requestLegacyExternalStorage="true"
></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_MEDIA" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
<uses-permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE" />
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-sdk android:minSdkVersion="21" />
</manifest>
读取和写入文本文件的代码
private async Task ReadUsb()
{
//6EB835AAB83571A7这是U盘名称
string s1 = Environment.CurrentDirectory + "storage/6EB835AAB83571A7/123.txt";
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)// && status1 != PermissionStatus.Granted)
{
return;
}
ReceiveText = File.ReadAllText(s1);
}
private async Task WriteUsb()
{
string s1 = Environment.CurrentDirectory + "storage/6EB835AAB83571A7/123.txt";
var status = await Permissions.RequestAsync<Permissions.StorageWrite>();
if (status != PermissionStatus.Granted)// && status1 != PermissionStatus.Granted)
{
return;
}
File.WriteAllText(s1, "cdcd", System.Text.Encoding.UTF8);
}