http://developer.android.com/guide/topics/providers/document-provider.html Staaten unterstützt:Android: Vermeiden doppelter Eintrag, wenn beide ACTION_GET_CONTENT und ACTION_OPEN_DOCUMENT
ACTION_OPEN_DOCUMENT is not intended to be a replacement for ACTION_GET_CONTENT.
The one you should use depends on the needs of your app:
Use ACTION_GET_CONTENT if you want your app to simply read/import data.
With this approach, the app imports a copy of the data, such as an image file.
Use ACTION_OPEN_DOCUMENT if you want your app to have long term, persistent access
to documents owned by a document provider. An example would be a
photo-editing app that lets users edit images stored in a document provider.
Dies zeigt, dass die meisten Anwendungen, die Dateien bietet sowohl Absicht Typen unterstützen soll.
Wenn eine App jedoch sowohl ACTION_GET_CONTENT
unterstützt (indem sie eine Aktivität hat, die dem im Intent-Filter entspricht), als auch ACTION_OPEN_DOCUMENT
(durch Implementieren eines Dokumentanbieters), wird sie zweimal angezeigt, wenn z. eine Datei an Gmail anhängen. Dies liegt an der Dateiauswahl-Benutzeroberfläche, die sowohl die Dokumentanbieter als auch die ACTION_GET_CONTENT
Matcher zeigt (letzteres wird weiter unten unter einem Teiler gezeigt).
Ist es möglich, diese doppelte Anzeige einer App zu vermeiden, um die Benutzer zu verwirren?
Siehe unten stehende Screenshot und die Box Eintrag zweimal für ein Beispiel des Problems zeigt sich:
Danke, verpasst das! Ich sehe jetzt, dass "ACTION_OPEN_DOCUMENT ist nicht beabsichtigt, ein Ersatz für ACTION_GET_CONTENT" im Kontext einer Client-App ist - für eine Provider-App jedoch ist dies der Fall. – fornwall