Visualizzazione stampabile
-
Apertura File
Salve a tutti,
sono un neoiscritto e volevo chiedervi una cosa;
Sto realizzando un'applicazione che deve aprire dei file all'interno di una cartella del cell.
Il mio problema è quello di aprire file con estensione .dxf, .dwg, .iges,.step..
In generale apri i file con
intent.setAction(android.content.Intent.ACTION_VIE W);
intent.setDataAndType(Uri.fromFile(file), "application/*");
startActivity(intent);
Il problema è che nell'elenco delle applicazioni con cui posso aprire i file, non escono tutte. In particolare a me servirebbe uscisse l'app. om3CAD.
E' possibile fare uscire quest'applicazione nell'elenco, o è possibile definire via codice l'applicazione con quale aprire il file???
Grazie
-
Ciao,
scusa se non ho una risposta immediata da darti ma dal momento che anche io ho un problema simile volevo chiederti una cosa se non disturbo. Te sai già aprire un pdf che si trova nella cartella "res" della tua app?
Se riesco a trovare una soluzione la condividerò sicuramente.. ^^
-
Quote:
Originariamente inviato da
Taurus768
Ciao,
scusa se non ho una risposta immediata da darti ma dal momento che anche io ho un problema simile volevo chiederti una cosa se non disturbo. Te sai già aprire un pdf che si trova nella cartella "res" della tua app?
Se riesco a trovare una soluzione la condividerò sicuramente.. ^^
Sul tuo problema posso dirti che è possibile leggere il file(cioè puoi ottenere lo stream di byte) ma non aprirlo con un programma! Per aprirlo con un reader devi copiare il tuo stream di byte sulla memoria esterna come file pdf e poi dire all'app di aprire il file che hai appena generato, che non è altro che una copia identica di quello nella tua cartella 'raw' all'interno di 'res'.
Con questo comando ottieni l'inputStream:
codice:
InputStream inputStream = resources.openRawResource(R.raw.yourresource);
Da qui con questa porzione di codice scrivi il file all'esterno:
codice:
File f=new File(path);
OutputStream out=new FileOutputStream(f);
byte buf[]=new byte[1024];
int len;
while((len=inputStream.read(buf))>0)
out.write(buf,0,len);
out.close();
inputStream.close();
Dopo questo basta che fai:
codice:
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(f), "application/pdf");
startActivity(intent);
-
Quote:
Originariamente inviato da
gabrug
Salve a tutti,
sono un neoiscritto e volevo chiedervi una cosa;
Sto realizzando un'applicazione che deve aprire dei file all'interno di una cartella del cell.
Il mio problema è quello di aprire file con estensione .dxf, .dwg, .iges,.step..
In generale apri i file con
intent.setAction(android.content.Intent.ACTION_VIE W);
intent.setDataAndType(Uri.fromFile(file), "application/*");
startActivity(intent);
Il problema è che nell'elenco delle applicazioni con cui posso aprire i file, non escono tutte. In particolare a me servirebbe uscisse l'app. om3CAD.
E' possibile fare uscire quest'applicazione nell'elenco, o è possibile definire via codice l'applicazione con quale aprire il file???
Grazie
Su questo il discorso è che se l'applicazione non è predisposta per rispondere ad un Intent non ci si può fare niente, dovresti informarti e vedere se quell'app risponde a qualcosa di particolare o come interfacciarti con essa!