1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

PDF öffnen, URL.toUri() Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Swoop, 08.09.2011.

  1. Swoop, 08.09.2011 #1
    Swoop

    Swoop Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    115
    Erhaltene Danke:
    4
    Registriert seit:
    20.05.2011
    Phone:
    Nexus S
    Hallo Leute,

    ich weis, dass das PDF Thema schon einigemale Besprochen wurde. Ich habe mich auch für den Weg entschieden, dem Nutzer es zu Überlassen, wie er die PDF öffnet. Ich löse dafür nur einen Intent aus.
    Soweit so gut. Ich habe auch schon den großteil Programmiert. Allerdings kommt bei mir noch ein erschwerender Faktor hinzu. Die Datei liegt nicht auf dem Handy oder auf SD-Card sondern auf einem Webserver.

    Hier mal mein Code:

    Code:
        private void loadPDFFile(String url) throws IOException, URISyntaxException {
            URL urlObj = new URL(url);
            URLConnection connection = urlObj.openConnection();
            PD_CommonWebInternal.setHTTPAuthorization(connection, QC.USERNAME, QC.PASSWORD);
    
            File file = new File(urlObj.toURI());
            Log.v("QTVX", "urlObj: " + urlObj);
            Log.v("QTVX", "File: " + file);
    
            Log.v("QTVX", "File.exist(): " + file.exists());
            if (file.exists()) {
                Uri path = Uri.fromFile(file);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(path, "application/pdf");
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    
                try {
                    getModel().startActivity(intent);
                } catch (ActivityNotFoundException e) {
                    Log.v("QTVX", "Exception in open the Activity");
                    Toast.makeText(getModel(), "No Application Available to View PDF",
                            Toast.LENGTH_SHORT).show();
                }
            }
    
        }
    Ich möchte gerne die PDF anzeigen: PDF

    Und hier meine Exception, welche in der Zeile "File file = new File(urlObj.toURI());" auftritt:

    [​IMG]

    Ich hoffe ihr wisst evtl einen Lösung...
    Ansonsten lass ich mich auch überzeugen eine andere Art und Weise einzuschlagen, damit PDF´s auf dem Handy laufen :D

    Grüße Swoop
     
  2. Swoop, 08.09.2011 #2
    Swoop

    Swoop Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    115
    Erhaltene Danke:
    4
    Registriert seit:
    20.05.2011
    Phone:
    Nexus S
    hab vor lauter Bäumen den wald nicht mehr gesehen...

    Hab schon eine Lösung gefunden:

    Code:
    File file = new File(url);
            Uri path = Uri.fromFile(file);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.setDataAndType(path, "application/pdf");
            try {
                getModel().startActivity(intent);
            } catch (ActivityNotFoundException e) {
                Log.v("QTVX", "Exception in open the Activity");
            }
    Allerdings spaziert jetzt schon der nächste Fehler ins Haus. Mit diesem Code kommt die Auswahl und meine Apps werden erkannt, welche PDF-Darstellen können. Wähle ich dann Adobe Reader aus kommt "Fehler: Der Dasteipfad ist ungütltig." Obwohl ich die PDF mit genau diesem Link, den ich übergebe, im Browser auf dem PC öffnen kann.

    Grüße Swoop

    Edit:

    Wenn ich das File ausgeben lasse, wird auch der richtige Pfad ausgegeben ... aber wenn ich das File auf existieren Prüfe kommt false zurück -.-
     
    Zuletzt bearbeitet: 08.09.2011
  3. Tom299, 08.09.2011 #3
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    vielleicht versucht der Adobe Reader die datei lokal zu lesen? lad dir doch mal die datei runter und versuch sie dann zu öffen
     
  4. Swoop, 08.09.2011 #4
    Swoop

    Swoop Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    115
    Erhaltene Danke:
    4
    Registriert seit:
    20.05.2011
    Phone:
    Nexus S
    ja so werd ichs jetzt komplett machen... Datei downloaden und auf SD-Card ablegen und dann die PDF Datei öffnen...
     

Diese Seite empfehlen