German html-Seite im Browser anzeigen

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich zeige in meiner App eine HTML-Seite in einem Webview als Hilfe-Datei.
Um dem User die einfache Möglichkeit des Ausdruckes zu geben möchte ich diese Seite entweder im Browser anzeigen oder in eine PDF-Datei konvertieren und anzeigen.
Das Problem dabei scheint der interne Speicherort der HTML-Seite zu sein.
B4X: Copy
Dim wv As WebView
wv.Initialize("")
'
pnlH.AddView(wv,0,0,80%x,75%y)
wv.LoadUrl("file:///android_asset/hilfe.html")
'
jedenfalls geht es so nicht:
B4X: Copy
Dim P As PhoneIntents
StartActivity(P.OpenBrowser("file:///android_asset/hilfe.html"))
 
Versuche es einmal so:

 
Ich dachte, dass es hilfreich sein könnte, die URL auf sichere Weise zu bilden, also z.B. über xui.FileUri(File.DirAssets, "test.htm")

Ich kann mir aber generell nicht vorstellen, dass eine fremde App, die per Intent gestartet wird, überhaupt auf die Assets einer anderen App zugreifen darf.

Möglicherweise würde es klappen, wenn du die Html-Datei zunächst in einen anderen Ordner kopierst, auf den der per Intent gestartete Browser zugreifen darf.
 
Last edited:
Lösung: Lade die html-seiten auf deine Domain hoch und rufe diese URL dann im Browser auf.
ich möchte, dass die Browseranzeige auch offline funktioniert.

Ich habe es jetzt soweit, dass sich die HTML-Seite öffnet, aber nicht im Browser sondern im Editor.
Was muss ich bitte beim IntentType ändern, um die Seite im Browser anzuzeigen?
B4X: Copy
        Dim FileName As String = "hilfe.html"
        Dim provider As FileProvider
        provider.Initialize
        'Copy the file to the shared directory
        Wait For (File.CopyAsync(File.DirAssets, "hilfe.html", Starter.Provider.SharedFolder, FileName)) Complete (Success As Boolean)
        '
        If Success = False Then
            Log("Android - Error: Failed to copy the file " & FileName & " to the shared directory.")
            Return
        Else
            Log("Android - File copy " & FileName & " successful: ")
        End If
        '       
        ' Configure the Intent to open the file
        Dim docIntent As Intent
        docIntent.Initialize(docIntent.ACTION_VIEW, "")
        provider.SetFileUriAsIntentData(docIntent, FileName)
        docIntent.SetType("application/html")
        docIntent.Flags = Bit.Or(1, 2) ' FLAG_GRANT_READ_URI_PERMISSION
        StartActivity(docIntent)
 
Back
Top