Ho la seguente intento:Intent.ACTION_GET_CONTENT con Google Drive
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/*");
startActivityForResult(intent, DBOpenHelper.REQUEST_CODE_RESTORE);
L'intento permette all'utente di selezionare un file di testo da una serie di opzioni. Funziona bene con storage locale e Dropbox per esempio, e in entrambi i casi posso ottenere il file da come segue:
@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();
}
}
memorizzazione locale funziona bene e Dropbox copierà una copia locale del file sulla scheda SD e restituire il percorso corretto. Il problema è che se l'utente seleziona i file da Google Drive. Quando utilizzano Google Drive, data.getData(). GetPath() restituisce qualcosa del tipo: "/ document/acc = 1; doc = 195" invece di restituire il percorso al file memorizzato localmente. Come faccio a scaricare Google Drive dal file e a restituire il percorso? Voglio consentire all'utente di selezionare da qualsiasi opzione di archiviazione di file che hanno a disposizione.
Grazie! Questo è molto più facile! – goodnoodle