安全扫描报告显示消息为:移动应用程序可以以读或写方式访问外部存储器(例如SD卡)。存储在外部数据存储上的应用程序的数据可能在某些情况下被其他应用程序(包括恶意应用程序)访问,并带来数据损坏或篡改的风险。我们使用以下代码:
var directory = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
directory = Path.Combine(directory, Android.OS.Environment.DirectoryDownloads);
string file = Path.Combine(directory.ToString(), WebUtility.UrlEncode(customWebView.Uri));
var documentsPath =System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var filePath1 = Path.Combine(documentsPath, WebUtility.UrlEncode(customWebView.Uri));
Andriodmanifest.xml:
<application android:label="TL" android:allowBackup="false" android:icon="@drawable/app_icon" android:requestLegacyExternalStorage="true">
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyDVTkBTiMl0e2KhzJcuCibAoykSSGEEm6E" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
请帮我整理一下这个问题
发布于 2022-08-16 01:05:30
您正在使用公共外部文件。公共文件是存在于外部存储中的文件,这些文件没有存储在Android为私有文件分配的目录中。当应用程序被卸载时,公共文件不会被删除。
您可以尝试使用私有外部文件。
私有外部文件被认为是特定于应用程序的(类似于内部文件),但由于许多原因(例如,对于内部存储来说太大)而被保存在外部存储中。与内部文件类似,当用户卸载应用程序时,这些文件将被删除。通过调用方法找到私有外部文件的主要位置:
Android.Content.Context.GetExternalFilesDir(string type).
您还可以使用目录DirectoryDownloads(PRIVATE_EXTERNAL_STORAGE/Download)
。
有关更多细节,您可以查看:私有外部文件。
https://stackoverflow.com/questions/73316295
复制相似问题