Autore Topic: Apertura PDF con app esterna  (Letto 271 volte)

Offline diegoves

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Apertura PDF con app esterna
« il: 11 Gennaio 2015, 10:49:03 CET »
0
Salve ragazzi, sto sviluppando un progetto e tra le tante cose devo creare dei file pdf ed aprirli. La creazione non è un problema con iTextPDF, l'apertura si è rivelata intrigante.
Come da regola mi son fatto prima un'applicazione di prova per testare l'utilizzo dei pdf: l'idea è che, dopo aver creato il pdf su "memoria esterna", apre direttamente adobe o comunque un'app che possa leggere i pdf, e da lo legge. Il problema è che se gli dico di utilizzare adobe, lui mi apre l'app, ma non il file, cioè devo andare a cercarmelo dentro adobe. C'è un modo per far si che quando gli do l'ok, lui apre Adobe e facendomi visualizzare subito il pdf creato senza doverlo cercare?
Posto qua sotto la parte di codice per l'apertura dell'app di lettura del pdf.

Codice (Java): [Seleziona]
Intent mShareIntent = new Intent();
mShareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
mShareIntent.setAction(Intent.ACTION_VIEW);
mShareIntent.setType("application/pdf");
Log.d("PERCORSO FILE", file.getAbsolutePath());
Uri contentUri = Uri.fromFile(file);
mShareIntent.putExtra(getClass().getPackage().getName() + "." + "SendPDF", contentUri);
try {
        startActivity(mShareIntent);
}
catch (ActivityNotFoundException anfe) {
        Toast toast = Toast.makeText(getApplicationContext(), "Nessun'app trovata per PDF", Toast.LENGTH_LONG);
        toast.show();
}

Ovviamente ho detto Adobe perché è la prima app che mi è venuta in mente, ma dovrebbe andare con qualsiasi altra app!!

EDIT:
Mi son risposto da solo. Bisogna modificare la riga del setType, inserendo
Codice (Java): [Seleziona]
mShareIntent.setDataAndType(contentUri, "application/pdf");DOPO la creazione di contentUri.
« Ultima modifica: 11 Gennaio 2015, 11:26:50 CET da diegoves »