Android 6.0 Berechtigungen und Montage OBB

Ich habe ein problem mit den Berechtigungen auf Android 6.0 und höher.

Dem Spiel ich bin auf die WRITE_EXTERNAL_STORAGE-Berechtigung. Auf Android 6.0 und höher die Warnung, die fragt, einem Benutzer zu erlauben, es musste angezeigt werden.

Habe ich eine Anfrage bekommen, um loszuwerden, diese Warnung, was bedeutet, das Spiel nicht verwenden können WRITE_EXTERNAL_STORAGE mehr.

Technisch ist das Spiel nicht Lesen und schreiben des externen Speichers und überall sofort. Alle speichert und die Cache-Dateien sind gespeichert in der Anwendung-spezifischen Verzeichnis (/storage/emulated/0/Android/data/com.Unternehmen.Artikelname)
Aber, das Spiel hat zu Lesen (und manchmal auch download) die OBB-Datei gespeichert, die in /storage/emulated/0/Android/obb/com.Unternehmen.Artikelname Verzeichnis.

Das Spiel verfügt über einen Zugang zu diesem Verzeichnis, auch ohne WRITE_EXTERNAL_STORAGE oder READ_EXTERNAL_STORAGE auf Geräte:

  • Motorola Nexus 6
  • LG Nexus 5

Aber es scheint Sie nicht haben, na die Zugriff auf dieses Verzeichnis auf:

  • Samsung Galaxy S5, S6 und S7
  • Nvidia Shield tablet

Hab ich überprüft es auch die Alpha-Tests, um zu simulieren, downloaden das Spiel aus dem store.

Wenn die Berechtigung zur Speicherung gegeben ist (über App-Einstellungen), dann läuft alles einwandfrei.

Wie die OBB ist montiert?

Die Unreal Engine 4, die ich verwende, ist die Verwendung der C-open () - Funktion behandeln Sie die OBB Datei:

int32 Handle = open(LocalPath, O_RDONLY);

Wo LocalPath ist der komplette Pfad zu der obb Datei: /storage/emulated/0/Android/obb/com.Unternehmen.Artikelname/main.10003.com.Unternehmen.productname.obb

Die Fragen:

  1. Macht das Spiel benötigen Sie eine LESE - /SCHREIB _EXTERNAL_STORAGE, um zu Lesen und herunterzuladen OBB Datei?
  2. Wenn ja, wie kann ich möglicherweise loszuwerden, die Warnung, die fragt den Benutzer nach Berechtigungen.
  3. Wenn Nein, warum dann Samsung Galaxy S-Serie solche Probleme?
  • received a request to get rid of this alert. Dumme Anfrage. Sagen Sie Ihnen! Lassen Sie Sie gehen Sie zu Einstellungen Ihrer app zu swich die Erlaubnis auf.
  • Wie sind Sie mit der Montage auf der OBB. und was sind Sie vorbei UE4 als LocalPath?
  • Auch, welche version(en) von Android ausgeführt werden, auf diesen verschiedenen Geräten?
  • All diesen Geräten läuft auf Android 6.0.1. Der "LocalPath" ist ein const char*, der auf /storage/emulated/0/Android/obb/com.Unternehmen.Artikelname/main.10003.com.Unternehmen.productname.obb Genau, es ist eine Kombination der getExternalStorageDirectory() + "/Android/obb/" + PackageName Wenn Sie Zugang zu UE4 github können Sie sich den source-code github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/... (MountOBB-Funktion)
InformationsquelleAutor zompi | 2016-07-13
Schreibe einen Kommentar