Probleme mit Lese- und Schreibberechtigungen für Android ExternalStorage (Zugriff auf den Pfad „/storage/emulated/0/...“ wird verweigert)

Phänomen:

Ab Android 10.0 kann unabhängig davon, ob Lese- und Schreibberechtigungen im Manifest hinzugefügt wurden, nicht direkt auf den internen Speicherpfad zugegriffen werden.

Warum

1. Nachdem viele Apps installiert wurden, werden verschiedene Dateien/Ordner zufällig unter /storage/emulated/0 erstellt, was zu Verwirrung im internen Speicherverzeichnis des Telefons führt. Nach der Deinstallation der App werden diese Dateien nicht deinstalliert. Es bleiben Mülldateien zurück, was zu einer Platzverschwendung führt.
2. Von anderen Apps erstellte Dateien können geändert werden, was zu Problemen mit der Datensicherheit führen kann
...

ändern

Angesichts der oben genannten Probleme führte Google Scoped Storage in Android 10.0 ein.

1. Die App greift auf ihren eigenen internen Speicherplatz zu, was mit dem vor Android 10.0 übereinstimmt.
2. Auf den externen Speicherplatz muss über Uri zugegriffen werden (interessierte Schüler können es ausprobieren).

Zurück zum Thema dieses Artikels

Die erste Methode:
Aktualisieren Sie das Gerät nicht auf 10.0 oder höher. Diese Methode ist nicht für die Kommerzialisierung geeignet, da Sie das Verhalten von Benutzern nicht bestimmen können, es sei denn, Sie möchten diese Benutzer aufgeben.

Die zweite Methode:
(1) Zusätzlich zum Hinzufügen von Lese- und Schreibberechtigungen im Manifest müssen Sie auch Berechtigungen hinzufügen

requestLegacyExternalStorage

Fügen Sie hier eine Bildbeschreibung ein
(2) Ändern Sie WritePermission in den Unity-Paketeinstellungen in „External“.

おすすめ

転載: blog.csdn.net/weixin_38359813/article/details/129685369