German Webview mit HTML-Datei öffnen

so27

Active Member
Licensed User
Longtime User
Hallo zusammen,

ich steh gerade auf dem Schlauch. Habe eine App, die mit targetSDK 28 kompiliert wird (nur falls ich irgendwelche Berechtigungen abfragen muss).

Eine HTML-Datei habe ich im Ordner FILES. Im Activity ein Webview über welches ich wie folgt versuche die Datei zu öffnen (bisher ohne Erfolg - und ja, ich habe die Suchfunktion im Forum schon verwendet :)):
B4X:
WebView1.Loadurl("file:///" & File.Combine(File.DirAssets, "name.html"))

ebenfalls habe ich dies versucht:

B4X:
WebView1.Loadurl("file:///android_asset/name.html")

Jedesmal erscheint folgendes im Webview:
2018-03-23_13h31_27.png


Muss ich wegen des targetSDK vielleicht noch eine Berechtigung abfragen?
 

DonManfred

Expert
Licensed User
Longtime User
B4X:
'Depends on JavaObject
Sub WebViewAssetFile (FileName As String) As String
   #if B4J
     Return File.GetUri(File.DirAssets, FileName)
   #Else If B4A
     Dim jo As JavaObject
     jo.InitializeStatic("anywheresoftware.b4a.objects.streams.File")
     If jo.GetField("virtualAssetsFolder") = Null Then
       Return "file:///android_asset/" & FileName.ToLowerCase
     Else
       Return "file://" & File.Combine(jo.GetField("virtualAssetsFolder"), _
       jo.RunMethod("getUnpackedVirtualAssetFile", Array As Object(FileName)))
     End If
   #Else If B4i
     Return $"file://${File.Combine(File.DirAssets, FileName)}"$
   #End If
End Sub

Usage:
B4X:
WebView1.LoadHtml($"<img src="${WebViewAssetFile("1.png")}"/>"$)
 

so27

Active Member
Licensed User
Longtime User
So funktioniert es jetzt. Danke.

B4X:
WebView1.LoadUrl(WebViewAssetFile("lizenzen.html"))
 
Top