2012-10-14 21 views
9

Sto lottando con il modo di rendere un'estensione di file personalizzato aperto nella mia applicazione Android attraverso l'unità di google ui. Il mio file al momento si apre bene attraverso dropbox o l'esploratore di file Android. Google Drive sembra prendere in considerazione solo il tipo mime del file. L'estensione del file è mia (diciamo .xyz) e il file è xml all'interno. Voglio che il file si apra nella mia app e non solo qualsiasi app registrata per i tipi di mime di testo/xml aperti. Come posso dire a google drive che i file .xyz non devono essere trattati come text/xml. Allo stesso modo non voglio che la mia app sia registrata per aprire tutti i file di testo/xml.Aprire l'estensione del file personalizzato da Google Drive su Android

Quindi il flusso di lavoro dell'utente finale sarebbe questo: 1) Aprire l'app Android di Google Drive. 2) Toccare "somefile.xyz" -> Il file verrebbe aperto nella mia app. Attualmente si apre nel visualizzatore xml di google drive. 3) Toccare "otherfile.xml" -> Il file non verrà aperto nella mia app.

risposta

1

Attiva la risposta a questa domanda è che non puoi farlo.

Con un file chiamato .xyz e un formato di xml all'interno, il meglio che puoi fare è creare vari filtri di intent per gestire tutti i modi in cui altre app identificano il file. Ad esempio ho inserito i seguenti mimeTypes nei miei filtri intent.

  • Google Drive - text/xml
  • ICS Gmail - text/plain
  • Jellybean Gmail - application/octet-stream
+0

Ho lo stesso problema nel riconoscere un file personalizzato dalla mia app di Drive e non riesco a far funzionare la risposta per me. Saresti in grado di condividere un esempio completo del filtro intentato che hai usato? Grazie se puoi! – u2tall

+0

Ciao @Nathan: Puoi spiegarlo con alcuni esempi? Sto lottando con il problema di cui sopra nella mia app.Voglio ottenere l'estensione del nome del file che è condiviso tramite Google Drive alla mia app. – Rotomac17

0

È possibile salvare i file nella directory privata della vostra applicazione allora non sarà accessibile da qualsiasi altra applicazione

vedere attraverso questo link come farlo

http://developer.android.com/training/basics/data-storage/files.html

Context.MODE_PRIVATE e getFilesDir() può esserti utile.

Oppure se desideri che altre app facciano qualcosa per te e restituiscano il risultato all'applicazione Esegui.

http://developer.android.com/training/basics/intents/sending.html

o

http://developer.android.com/training/basics/intents/filters.html

+0

Voglio lasciare all'utente di gestire i propri file attraverso i vari nuvola app. La mia app non crea file, semplicemente apre i file esistenti. La mia domanda è: come faccio a google drive per aprire il file .xyz nella mia app. – Nathan

+0

vedere la risposta modificata – Javanator

+1

Aggiornato il mio post. Non voglio che la mia app faccia qualcosa, l'altra app deve vedere che la mia app deve aprire i file .xyz. – Nathan

Problemi correlati