1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Swoop, 08.09.2011 #1
    Swoop

    Swoop Threadstarter Android-Hilfe.de Mitglied

    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

    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

    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

    ja so werd ichs jetzt komplett machen... Datei downloaden und auf SD-Card ablegen und dann die PDF Datei öffnen...
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android app pdf anzeigen programmieren