2016-10-22 3 views
0

Ich verwende derzeit das Speicherzugriffs-Framework, damit meine Benutzer Dokumente erstellen/löschen können.Storage Access Framework zeigt kein externes Speichergerät

https://developer.android.com/guide/topics/providers/document-provider.html

Einige meiner Benutzer (ein kleiner Prozentsatz) beschweren sich aber, dass ihre externen Speichergerät nicht zeigt im Dialogfenster auf.

Ich habe bereits das versteckte EXTRA eingestellt.

intention.putExtra ("android.content.extra.SHOW_ADVANCED", true);

weshalb meine anderen Benutzer (die Mehrheit von ihnen) den externen Speicher sehen können. Ich frage mich nur, ob es noch etwas EXTRA gibt, das ich für die anderen Benutzer einstellen muss, um ihren externen Speicher zu sehen.

Edit:

Hier ist, wie ich die Absicht ich für den Speicherzugriff Framework verwenden erstellen.

private static final String MIME_TYPE = "*/*"; 
private static final String EXTRA_SHOW_ADVANCED = "android.content.extra.SHOW_ADVANCED"; 

private static Intent buildIntent() { 
    final Intent intent = new Intent(ACTION_OPEN_DOCUMENT); 
    intent.addCategory(CATEGORY_OPENABLE); 
    intent.setType(MIME_TYPE); 
    intent.putExtra(EXTRA_LOCAL_ONLY, true); 
    intent.putExtra(EXTRA_SHOW_ADVANCED, true); 
    return intent; 
} 
+0

Sie wissen, dass der Benutzer auf den meisten Geräten zuerst in das Menü wechseln muss, um Show-Geräte zu aktivieren? Warum erwähnen Sie diese Option nicht? – greenapps

+0

Bitte zeigen Sie den vollständigen Code für die beabsichtigte Absicht. – greenapps

Antwort

0

Bitte verlassen Sie sich nicht auf versteckte konstante Werte. Das ist ein Best-Effort-Zeug. Seien Sie nicht überrascht, wenn es nicht immer funktioniert.

Anbieter behalten sich das Recht vor, die Android-Code-Basis zu ändern, sofern ihre Änderungen keinen CTS Test oder GTS-Test verletzen, wenn sie das Google Service Framework vorab laden möchten. Versteckte Konstanten und APIs sind in der Regel nicht durch einen CTS-Test geschützt, so dass Hersteller sie möglicherweise entfernen.

Google behält sich außerdem das Recht vor, versteckte APIs in zukünftigen Versionen zu entfernen.

Verwandte Themen