W widgecie wyświetlam obrazy z karty SDCard przy użyciu remoteView.setImageViewUri()
. Strategia ta działa poprawnie z wyjątkiem prawoślazu:Wyświetlanie obrazów z karty SD w widgecie z MarshMallow
Błąd jest:
Unable to open content: file:///storage/emulated/0/Android/data/applicaitonPackage/files/file.png
open failed: EACCESS (Permission denied)
To jasne, że jest to problem pozwolenie, ale nie wiem jak dać uprawnienia do pojemnika widget i teoretycznie (patrz Uwaga 1) obrazy są już przechowywane w pamięci współdzielonej.
Uwaga 1: Katalog, w którym obrazy są przechowywane dzielone magazynowania pod Environment.getExternalStorageDirectory()
UWAGA 2: Aplikacja nie jest przystosowany do prawoślazu i wykorzystuje targetSdkVersion = 15
Uwaga 3: Don wystarczy odpowiedzieć, wyjaśniając o nowych uprawnieniach środowiska wykonawczego w MarshMallow. Już znam zmiany uprawnień i to nie jest problem, ponieważ aplikacja jest skierowana SDKVersion 15 i aplikacja nie ma żadnego problemu z dostępem do zewnętrznej pamięci masowej, problem dotyczy kontenera widżetów, który jest tym, który podejrzewam, że nie ma uprawnienia.
można wyjaśnić to, czego nie dostają albo coś źle? –
Już wiem, co mówisz. Nie dotyczy to aplikacji kierowanych na SDK w wersji 15, a także dlatego, że problemu nie ma w aplikacji. Problem polega na tym, że widget jest uruchamiany z zawartością widgetu, która jest osobną aplikacją. – lujop
można wyjaśnić, jak uzyskać tę działalność w widgecie? – user2548816