In einem Widget zeige ich Bilder von SDCard mit remoteView.setImageViewUri()
. Diese Strategie funktioniert richtig außer mit Marshmallow:Anzeigen von Bildern von SDCard in einem Widget von MarshMallow
Der Fehler ist:
Unable to open content: file:///storage/emulated/0/Android/data/applicaitonPackage/files/file.png
open failed: EACCESS (Permission denied)
Es ist klar, dass dies ein Berechtigungsproblem ist, aber ich weiß nicht, wie Berechtigungen für den Widget-Container zu geben und in der Theorie (siehe Hinweis 1) Die Bilder sind bereits im freigegebenen Speicher gespeichert.
Anmerkung 1: Das Verzeichnis, in dem die Bilder gespeichert werden Environment.getExternalStorageDirectory()
unter Lagerungs- geteilt wird
Anmerkung 2: Anwendung ist nicht auf Eibisch angepasst und verwendet targetSdkVersion = 15
Anmerkung 3: Don Antworte nicht einfach auf neue Laufzeitberechtigungen in MarshMallow. Ich kenne bereits Änderungen der Berechtigungen und das ist nicht das Problem, weil die Anwendung SDKVersion 15 ist und die App kein Problem beim Zugriff auf den externen Speicher hat, ist das Problem mit dem Widget-Container, der derjenige ist, den ich vermute, dass das nicht hat Berechtigungen.
Können Sie erklären, was Sie nicht bekommen oder etwas falsch? –
Ich weiß schon alles was du sagst. Und dies ist nicht anwendbar, da die App auf die SDK-Version 15 ausgerichtet ist und auch, weil das Problem nicht in der App enthalten ist. Das Problem liegt im Widget, das mit dem Widget-Container ausgeführt wird, der eine separate Anwendung ist. – lujop
Können Sie erklären, wie Sie diese Aktivität im Widget erhalten? – user2548816