German pdf Datei aufrufen

merlin3468

Member
Licensed User
Longtime User
Hallo erst mal,

ich bin NEU hier und habe mir das Programm letzten Freitag zugelegt.
Ich habe wenig Kenntnisse im Programieren aber dank der anscheindend unermüdlichen Lese und Antwortfreude von Klaus ( an dieser Stelle mal ein riesiges DANKE und für mich GOODFATHER of B4A ) konnte ich mich soweit durch hangeln.
Nun würde ich gerne eine PDF-Datei aufrufen bei einem klick auf ein Bild und komme nicht so recht weiter.

Hier meine Fragen:
1. Muss ich die Datei in das Layout mit aufnehmen bzw. ich habe sie unter Files hinzugefügt.
2.Ich ein paar Sachen im Forum gelesen und mir ist es gelungen tatsächlich bei einem Testlauf auf dem Handy den PDF-Reader aufzurufen allerding bekomme ich dann die Meldung " Datei konnte nicht geöffnet werden ".
Ich weiß aber auch nicht genau wo die Datei dann wäre was mein Problem dann auch wieder erklären würde. :)
Ich füge mal die mal den Code hinzu:
Vielleicht ist ja jemand da draußen der mir bei meinem Denkproblem helfen kann.

intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/appinventor/assets/mt.pdf")
intent1.SetType("application/pdf")
intent1.WrapAsIntentChooser("Choose PDF Viewer")

Ich habe dann einen weiteren Test gestartet und das File in einen Ordner kopiert und dann versucht in aufzurufen ...naja das Ergebnis ist das selbe geblieben.

Danke für eure Hilfe

Gruß
Rolf
 

klaus

Expert
Licensed User
Longtime User
Hallo Rolf,
Zuerstmal, herzlich willkommen hier und danke für die netten Worte.

Diese Zeile kommt mir komisch vor:
B4X:
intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/appinventor/assets/mt.pdf")
Versuche mal etwas wie folgendes:
B4X:
intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/android/data/PackageName/files/mt.pdf")
PackageName ist der PackageName des aufrufenden Programmes.

Beste Grüsse.
 

merlin3468

Member
Licensed User
Longtime User
Hallo Klaus,

danke für deine schnelle Antwort. Ok da hab ich wohl für etwas Verwirrung gesorgt.


B4X:
intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/appinventor/assets/mt.pdf")
das ist der Pfad den ich manuell versucht habe aufzurufen. Hatte dort vorher das File abgelegt.

Ich habe dann mal mit einem Explorer gesucht nach dem von dir genannten Pfad
B4X:
intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/android/data/PackageName/files/mt.pdf")

zu meinem Erstaunen finde ich unter /android meinen PackageName nicht.

Ich mach wohl was falsch ...wo muss ich den Programm sagen das er das unter der sdcard speichern soll ?
Wie wäre denn der interne Pfad ?
Oder muss ich nach dem Compile & Run noch etwas anderes machen um das Progi zu aktivieren?

Gruß
Rolf
 

merlin3468

Member
Licensed User
Longtime User
habe ich gemacht aber es kommt nach wie vor die Meldung "Datei konnte nicht geöffnet werden vom pdf -reader.
Und auch bei der mauellen Suche im Explorer sehe ich meinen Ordner nicht.

Das stellt sich mir eine Frage:
Wo ist das Programm dann hininstalliert ?? Weil die anderen Seiten funktionieren ja nur der Aufruf der pdf funzt nicht.

:rolleyes:
 

klaus

Expert
Licensed User
Longtime User
Wie ist Dein Gerät mit dem PC verbunden?
Ich habs bei mir mit meinem Nexus One und einem Programm getestet (Package name b4a.sqldbutils) mit USB verbunden.
- Programm auf dem Gerät gelöscht
- Programm nicht mehr auf dem Gerät vorhanden
- Can Install On External Storage im IDE angehakt
- Programm kompliert
- Programm befindet sich unter 'mnt/sdcard/android/data/b4a.sqldbutils

Beste Grüsse.
 

merlin3468

Member
Licensed User
Longtime User
habe auch mal alles deinstalliert.
Dann habe ich mal ein neues Project angefangen,"can install to external ..." angehakt und dann kompiliert. Ist aber noch nix drinnen aüßer einem Button wollte nur sehen ob der Ordner angelegt wird. Sollte doch passieren oder ?
PackageName = de.test.test
Dann auf dem Handy nachgeschaut und dort auch kein package gefunden.
Das Handy ist über USB verbunden

Handy: HTC Sensation
 

klaus

Expert
Licensed User
Longtime User
Habs jetzt nochmals mit einem neuen Programm probiert.
Ich hab mich leider etwas vertan.
intent1.Initialize(intent1.ACTION_VIEW,
"mnt/sdcard/android/data/PackageName/files/mt.pdf")
ist File.DirDefaultExternal und nicht File.DirAssets.

Habe noch etwas tiefer im Forum gewühlt.
Du musst die Datei auf die SDCard kopieren:
B4X:
    File.Copy(File.DirAssets, "mt.pdf", File.DirDefaultExternal, "mt.pdf")
denn File.DirAssets ist nicht von anderen Programmen zugänglich.
Könntest sie auch auf File.DirRootExternal kopieren.

In dem Programm mit dem Ich es vorher getestet hatte kopierte Ich eine Datanbank von DirAssets nach DirDefaultExternal, deshalb mein Missverständniss.

Beste Grüsse.
 

merlin3468

Member
Licensed User
Longtime User
Hallo Klaus,

vielen Dank der Ordner wird nun erstellt aber leider klappt der Aufruf immer noch nicht ...leider bleibt die Fehlermeldung auch die selbe ( Datei konnte nicht geöffnet werden.

Ich poste mal den komplettenAufruf, vielleicht hilfts ja was ....

B4X:
    intent1.Initialize(intent1.ACTION_VIEW, "mnt/sdcard/android/data/de.rgsoft.airmaps/files/uebersicht.pdf")
   intent1.SetType("application/pdf")
   intent1.WrapAsIntentChooser("Choose PDF Viewer")
 

merlin3468

Member
Licensed User
Longtime User
Hallo Klaus,

ich verneinge mich vor deinen Kenntnissen und deinen Sucher-Fähigkeiten.

:sign0098:

Es hat geklappt........juhu...danke, danke, danke,


Viele Grüße

Rolf
 
Top