Ich möchte einen DocumentsProvider erstellen, um den angegebenen Ordner zu verwalten. Ich brauche eine andere App, um diesen DocumentsProvider zum Durchsuchen/Verwalten der Dateien in dem Ordner zu verwenden.Wie kann ich direkt in der App auf DocumentsProvider zugreifen, ohne Absicht zu verwenden?
Ich sah viele Beispielcode, der intent und startActivity verwendet, dann DocumentsUI verwenden, um URI zu erhalten. Ist es möglich, direkt über meine App auf DocumentsProvider zuzugreifen und ohne Vorsatz?
Ich habe versucht, feste URI für meine DocumentsProvider verwenden, und versuchte, DocumentsContract verwenden, um darauf zuzugreifen, aber es wird "SecurityException: Keine persistente Berechtigungshilfen für UID und Uri gefunden". Ich habe auch zuerst grantUriPermission() verwendet, aber es hilft nicht.
Gibt es eine Möglichkeit, auf DocumentsProvider mit festen (vordefinierten) URI statt der URI aus zurückgegebenen Absicht zuzugreifen?
'sah viele Beispielcode, die DocumentsUI aufrufen. Frage mich, was du damit meinst. Kannst du ein Beispiel geben? – greenapps
Der Punkt von "DocumentsProvider" ist, dass diese Dokumente über das Storage Access Framework (z. B. "ACTION_OPEN_DOCUMENT") für andere Apps zugänglich sind. Wenn das nicht gewünscht ist, implementieren Sie keinen 'DocumentsProvider'. Wenn Sie die 'ACTION_OPEN_DOCUMENT'-Unterstützung und * auch * direkt mit dem' DocumentsProvider' arbeiten möchten, können Sie versuchen, 'DocumentsContract' zu verwenden, aber ich weiß nicht, wie Ihre Client-Anwendung die Erlaubnis erhält, mit den Dokumenten zu arbeiten. – CommonsWare
Ja, ich habe das versucht, aber erhalte das Erlaubnisproblem, wie du gesagt hast. –