Mam następujące intencje:Intent.ACTION_GET_CONTENT z Dysku Google
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/*");
startActivityForResult(intent, DBOpenHelper.REQUEST_CODE_RESTORE);
Intencją pozwala użytkownikowi wybrać plik tekstowy z wielu opcji. Współpracuje z lokalnego przechowywania i Dropbox, na przykład, w obu przypadkach można uzyskać plik z następująco:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == DBOpenHelper.REQUEST_CODE_RESTORE)
&& (resultCode == Activity.RESULT_OK)) {
restoreFile = new File(data.getData().getPath());
restoreFileName = restoreFile.getName();
}
}
lokalne przechowywanie działa dobrze i Dropbox będzie skopiować lokalną kopię pliku na karcie SD i zwróć poprawną ścieżkę. Problem polega na tym, że jeśli użytkownik wybierze pliki z Dysku Google. Gdy korzystają z Dysku Google, data.getData(). GetPath() zwraca coś w stylu: "/ document/acc = 1; doc = 195" zamiast zwracać ścieżkę do pliku zapisanego lokalnie. Jak mogę pobrać plik z Dysku Google i zwrócić ścieżkę? Chcę zezwolić użytkownikowi na wybór z dowolnej dostępnej opcji przechowywania plików.
Dziękujemy! To jest o wiele łatwiejsze! – goodnoodle