Android App Läd webseiten nicht mehr und Webseiten Background Farbe

  • Antworten:37
  • Bentwortet
Martin Banu
  • Forum-Beiträge: 12

24.09.2020, 17:22:55 via Website

Hallo ich habe eine Webview app wo ich wordpress seiten lade die mit elementor erstellt wurden
nun hab ich das einige zeit nicht bearbeitet , und muss feststellen das aufeinmal einige seiten nicht mehr laden und einfach schwarz bleiben
& das manche erst laden und dann wenn sie fertig wären abbrechen und der tab nur schwarz ist
Oder das manche seiten zwar laden aber aufeinmal der Background weiß statt schwarz ist
ohne grund wäre klasse wenn ihr mir helfen könntet

Im normalen browser sind die farben schwarz im webview in der app nicht , obwohl vorm einiger zeit noch funktionierte

Hier der Source Code:

— geändert am 29.09.2020, 09:34:30

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 12:31:15 via Website

Also wen ich die App teste, dann kann ich das nachvollziehen.

Es gibt 2 Gründe dafür:

  1. Deine URLs sind in der App nicht passend Hinterlegt, oder es fehlt ein "Slash" am ende der URL. Das muss sich auf dem Server wohl mal geändert haben

  2. In der WebViewEnging.java wird in Zeile 172 die Methode shouldOverrideUrlLoading überschrieben. Beim Aufruf wird dann einfach ein loadPage getriggert. Warum auch immer werden hier beim Aufruf einer URL erst die URL geladen und im Anschluss gleich ein gif. Daher ist das "nicht sichtbare" Gif, das was angezeigt wird.
    Wenn ich die Zeile rausnehme mit dem laden, geht es auch. Nur dann werden ggf. Links nicht mehr passend verarbeitet.
    GIF: data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokel, swa00 und 1 mehr Jokelswa00Martin Banu
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

24.09.2020, 17:46:46 via App

Hast du das mal debugged ob alles passend aufgerufen wird?
Ohne Code oder Screenshots wissen wir auch nicht weiter

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.09.2020, 17:49:37 via Website

Hallo benutzt du etwas eine neue Android SDK version.
ab API 29 ist einiges anders.

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

24.09.2020, 17:54:08 via Website

Wie genau kann ich das überprüfen mit debuggen? , bin noch ein ziemlicher anfänger bei apps und hatte den code damals erstellen lassen

Hier der Source Code:

danke für die Hilfe

Quote: Hallo benutzt du etwas eine neue Android SDK version.
könnte sein er hat beim updaten wohl einiges geupdatet villeicht ist es dabei passiert

— geändert am 29.09.2020, 09:34:42

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.09.2020, 18:26:07 via Website

Hallo für oder unter welcher android version wurde es denn geschrieben?

Jetzt steht Api 28 im Gradle (android 9).

war das voher auch so?

unter welcher android version läst du es laufen ?

geht denn die alte apk noch? und bis zu welcher API geht sie?

— geändert am 24.09.2020, 18:29:19

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 09:10:11 via Website

eine alte gebuildete version besitze ich leider nicht mehr, ob das vorher mit api 29 so war weiß ich ehrlich gesagt nicht mehr
geschrieben und getestet wurde es für android 9

Testhandy ist: Nexus 5x APIQ2 / Android version Q , was halt auch komisch ist das aufeinmal seiten nicht mehr vernünftig laden die vorher perfekt geladen haben

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 09:38:57 via Website

Hallo wie ist es wenn du die neue apk auf einem Handy mit Android 9 api 28 testet?

API 28 Android 9
API 29 Android 10
API 30 Android 11

Dein gradle ist auf 28 also 9

— geändert am 25.09.2020, 09:44:04

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 09:57:35 via Website

ok habe nun nachgeschau liegt scheinbar echt an der api bzw android version , mit einen samsung s7 android 8.0 & Huawei P20 Lite android version 9.0 ging es jetz fast ohne probleme , hintergrund wird normal geladen

nur ist nun das problem das die tabs: Nachtspeicher / telekommunikation / hausgarantie

nicht mehr laden es läd man sieht die seite kurz und dann ist es schwarz , bevor android studio den code geupdatet hat lief es ohne probleme

— geändert am 25.09.2020, 10:03:33

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.09.2020, 09:57:37 via Website

@MartinBanu

Hast du auch auch eine network security config erstellt ?

Manifest :

android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"

XML :

< ? xml version="1.0" encoding="utf-8"? >
< network-security-config >
< base-config cleartextTrafficPermitted="true" / >
< / network-security-config >

P.S i.d.R. gibt dir auch der CallbackListener eine Begründung zurück .

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 10:00:07 via Website

@48swa00 ja so etwas ist vorhanden , wo finde ich den CallbackListener und die Begründung?

da mein speicher auf der festplatte nicht mehr für weitere handys reicht kann ich leider keine weiteren virtuellen handys installieren

— geändert am 25.09.2020, 10:00:52

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.09.2020, 10:17:23 via Website

ja so etwas ist vorhanden

"Sowas" ? Wie soll man das verstehen ?

wo finde ich den CallbackListener und die Begründung?

Na du müsstest schon einen Webclient integrieren und dessen Callbacks auswerten.

da mein speicher auf der festplatte nicht mehr für weitere handys reicht kann ich leider keine weiteren virtuellen handys installieren

Na dann lösche dir doch einige virtuellen Clients , oder arbeite mit ADB

Nachtrag : Sehe eben in deinem Source , dass du alle erdenklichen Callbacks integriert hast .
Dann gebe sie doch mal im Log aus

BTW : Ist der Source von Dir, oder hast du den irgendwo erkauft ?

— geändert am 25.09.2020, 10:22:53

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 10:22:44 via Website

Hallo
das hier was @swa00 sagte hast du aber nicht in deinem Manifest.

android:usesCleartextTraffic="true" 
Hilfreich?
Martin Banuswa00
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 10:32:24 via Website

ja so etwas ist vorhanden

"Sowas" ? Wie soll man das verstehen ?

wo finde ich den CallbackListener und die Begründung?

Na du müsstest schon einen Webclient integrieren und dessen Callbacks
auswerten.

da mein speicher auf der festplatte nicht mehr für weitere handys reicht kann ich leider keine weiteren virtuellen handys installieren

Na dann lösche dir doch einige virtuellen Clients , oder arbeite mit
ADB

Nachtrag : Sehe eben in deinem Source , dass du alle erdenklichen
Callbacks integriert hast . Dann gebe sie doch mal im Log aus

BTW : Ist der Source von Dir, oder hast du den irgendwo erkauft ?

Der source wurde von einen programmierer gegen $ erstellt , nur ist dieser nicht mehr erreichbar
Weiß Über ADB leider kaum was da ich selbst eig iphone nutzer bin

werde es jetz wie vorgeschlagen mit Android 9 api 28 testen und dann berichten
weiß nur nicht wie ich es im log ausgeben soll

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.09.2020, 10:39:24 via Website

Dem Source zufolge ist das eine sehr saubere Arbeit .

Aber ohne fundierte Kenntnisse, einem ordentlichen Debugging und Logs,
wirst du nicht dem Fehler auf die Schliche kommen.

Alles Andere ist von Jokel und mir nur Mutmaßung.

Das solltest du dann eher jemanden in die Hand geben ( auch gegen $) der dir das bereinigt.

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 10:40:53 via Website

Hast du das im Manifest geändert nachgetragen?
Auch würde ich die minSDKVersion im Gradle vom 15 auf 24 anheben.

Logcat ist unten im Andoitd Studio wenn du aber auf einem echten Handy testest und es mit dem Rechner verbunden hast musst aber auch auf dem Handy USB Debugging eingeschaltet haben sonst wirst du nichts sehen.

— geändert am 25.09.2020, 10:42:06

Hilfreich?
Martin Banuswa00
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 10:59:42 via Website

danke für die viele liebe hilfe

Hier 1x ein video von dem fehler der noch auf 3 seiten besteht:
youtube.com/watch?v=i6VngaqVGPY&feature=youtu.be

Beides in die AndroidManifest.xml eintragen?
Manifest :

android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"

XML :

< ? xml version="1.0" encoding="utf-8"? >
< network-security-config >
< base-config cleartextTrafficPermitted="true" / >
< / network-security-config >

hatte bisher nichts eingetragen da android:usesCleartextTraffic="true" in einer datei drin stand und ich es gesehen hatte und daher angenommen habe das es das selbe ist

wie hebe ich die minSDKVersion im Gradle von 15 auf 24 an? , bin wie gesagt in android studio ein absoluter anfänger , aber bereit zu lernen

Hier der Logcat Log von den Errors wenn ich auf die nicht funktionierenden tab klicke:
pastebin.com/cj0pXUhk

Hier ein Logcat log vom Debug:
pastebin.com/NQfM4wpL

hoffe euch sagt der log mehr als mir

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.09.2020, 11:53:51 via Website

Sorry das sind leider keine aussagefähigen Logs, die sich auf die Errortrigger des webviews beziehen.

Du musst das Ding wohlmöglich debuggen.

wie hebe ich die minSDKVersion im Gradle von 15 auf 24 an

im Gradle file

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 12:09:59 via Website

Zur Info die minsdkhabe ich erhöht auf einen avd api 25 / 28 hatte ich genau dein Problem.

Ist nicht der Fehler. Habe aber jetzt keine Zeit mehr zum testen.

Ich denke es ligt auch mit an der Webseite den einige gehen ja.
Hast du in letzter Zeit da einiges geändert?
Wie gesagt ich habe es nur laufen lassen ohne richtig zu testen.

— geändert am 25.09.2020, 12:14:14

Hilfreich?
Martin Banu
Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 12:31:15 via Website

Also wen ich die App teste, dann kann ich das nachvollziehen.

Es gibt 2 Gründe dafür:

  1. Deine URLs sind in der App nicht passend Hinterlegt, oder es fehlt ein "Slash" am ende der URL. Das muss sich auf dem Server wohl mal geändert haben

  2. In der WebViewEnging.java wird in Zeile 172 die Methode shouldOverrideUrlLoading überschrieben. Beim Aufruf wird dann einfach ein loadPage getriggert. Warum auch immer werden hier beim Aufruf einer URL erst die URL geladen und im Anschluss gleich ein gif. Daher ist das "nicht sichtbare" Gif, das was angezeigt wird.
    Wenn ich die Zeile rausnehme mit dem laden, geht es auch. Nur dann werden ggf. Links nicht mehr passend verarbeitet.
    GIF: data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokel, swa00 und 1 mehr Jokelswa00Martin Banu
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.09.2020, 12:49:40 via Website

@Pascal : Chapeau :-)

— geändert am 25.09.2020, 12:53:16

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin BanuPascal P.
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 12:57:07 via Website

@swa00: Danke, findet man ja recht schnell raus, wenn man sich einfach den bestehenden Log anschaut :)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 12:59:55 via Website

minSDKVersion habe ich erhöht leider ohne bleibt der fehler , genau wie schon sagtest.

Deine URLs sind in der App nicht passend Hinterlegt, oder es fehlt ein "Slash" am ende der URL. Das muss sich auf dem Server wohl mal geändert haben

Die urls sind so hinterlegt :

public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();

    if (id == R.id.home) {
        loadAdThenUrl("://domain.de/app/");
    } else if (id == R.id.ittechnik) {
        WebViewActivity.start(getApplicationContext(),"://domain.de/app/ittechnik/");

        //loadAdThenUrl("://domain.de/app/ittechnik");
    } else if (id == R.id.telekommunikation) {
        loadAdThenUrl("://domain.de/app/telekommunikation/");
    } else if (id == R.id.nachtspeicher) {
        loadAdThenUrl("://domain.de/app/nachtspeicher/");
    } else if (id == R.id.energie) {
        loadAdThenUrl("://domain.de/app/energie/");
    } else if (id == R.id.über) {
        loadAdThenUrl("://domain.de/app/ueber-uns/");
    } else if (id == R.id.location) {
        loadAdThenUrl("://domain.de/app/location/");
    } else if (id == R.id.impressum) {
        loadAdThenUrl("://domain.de/app/impressum-dsgvo/");
    } else if (id == R.id.hausgarantie) {
        loadAdThenUrl("://domain.de/app/hausgarantie/");
    } else if (id == R.id.service) {
        loadAdThenUrl("://domain.de/app/service/");
    } else if (id == R.id.datenschutz) {
        loadAdThenUrl("://domain.de/app/datenschutzvereinbarungen/");
    } else if (id == R.id.kontakt) {
        loadAdThenUrl("://domain.de/app/kontakt/");

Slashs sind nun hinzugefügt , problem leider noch immer da

in der WebViewEnging.java wird in Zeile 172 die Methode shouldOverrideUrlLoading überschrieben. Beim Aufruf wird dann einfach ein loadPage getriggert. Warum auch immer werden hier beim Aufruf einer URL erst die URL geladen und im Anschluss gleich ein gif. Daher ist das "nicht sichtbare" Gif, das was angezeigt wird.
Wenn ich die Zeile rausnehme mit dem laden, geht es auch. Nur dann werden ggf. Links nicht mehr passend verarbeitet.
GIF: data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

sehe da nichtmal ein gif , oder ich bin in der falschen datei bei mir steht :

public void loadHtml(String htmlString) {
if (isNetworkAvailable(mContext)) {

        if (htmlString.startsWith("tel:") || htmlString.startsWith("sms:") || htmlString.startsWith("smsto:")
                || htmlString.startsWith("mms:") || htmlString.startsWith("mmsto:")
                || htmlString.startsWith("mailto:") /*|| htmlString.contains("youtube.com")*/
                || htmlString.contains("geo:")) {
            invokeNativeApp(htmlString);
        } else if (htmlString.contains("?target=blank")) {
            invokeNativeApp(htmlString.replace("?target=blank", ""));
        } else if (htmlString.endsWith(".doc") || htmlString.endsWith(".docx") || htmlString.endsWith(".xls")
                || htmlString.endsWith(".xlsx") || htmlString.endsWith(".pptx") || htmlString.endsWith(".pdf")) {
            webView.loadUrl(GOOGLE_DOCS_VIEWER + htmlString);
            webView.getSettings().setBuiltInZoomControls(true);
        } else {

            webView.loadData(htmlString, "text/html; charset=utf-8", "UTF-8");
        }

    } else {
        webListener.onNetworkError();
    }
}

wie kann ich den das gif dann entfernen da du ja meintest das es dann scheinbar klappt?
und wieso werden dann die links nicht mehr passend verarbeitet? , bzw wie kann ich es lösen

und riesen danke für die hilfe , ps musste https entfernen da ich keine links posten kann

Edit:
wenn ich die zeile

@Override
public boolean shouldOverrideUrlLoading(WebView webView, String webUrl) {

            loadPage(webUrl);
            return true;
        }

Lösche dann geht es perfekt , die zeile wurde meine ich wegen den ads system hinzugefügt
die frage ist nur dann wie das zu fixxen ist

Siehe hier:
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();

    if (id == R.id.home) {
        loadAdThenUrl("://domain.de/app/");
    } else if (id == R.id.ittechnik) {
        WebViewActivity.start(getApplicationContext(),"://domain.de/app/ittechnik/");

        //loadAdThenUrl("://domain.de/app/ittechnik");
    } else if (id == R.id.telekommunikation) {
        loadAdThenUrl("://domain.de/app/telekommunikation/");

— geändert am 25.09.2020, 13:06:51

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 13:09:12 via Website

Da ich grad selber nicht weiß, wieso sich das so verhält, kann ich dir nicht sagen. Irgendwelche GIFs werden geladen aber warum?
Da musst du mal schauen wo diese herkommen und das ggf. unberbinden.
Im worst case die url mit if auf !gif prüfen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 15:32:42 via Website

Sobald ich etwas editiere und speicher geht das spiel von vorne los, dann kann scheinbar irgendwas nicht laden und es ist wieder alles ohne farben

— geändert am 25.09.2020, 15:44:12

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 15:59:55 via Website

Was editierst du genau?
Es muss einen Grund haben...
Aber ohne App Entwickler kenntnisse wirst du hier wenig vorankommen.
Wenn du konkret weißt was das problem ist kann ich später nochmal schauen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

25.09.2020, 16:21:30 via Website

ich habe auf der startseite ein foto editiert das ging erst nicht , daraufhin war wieder alles ohne farben
habe es gelöscht , backup der datenbank eingespielt und nochmal probiert

dann ging es das foto reinzueditieren , aber wenn ich nun wieder auf nachtspeicher / hausgarantie / telekommunitation klicke läd es wieder nicht und bricht ab wie zuvor auch

danke für die hilfe aber kann so kaum genau sagen woran es liegt x.x

ist jetz wieder dieser fehler:
youtube.com/watch?v=i6VngaqVGPY&feature=youtu.be

— geändert am 25.09.2020, 16:57:00

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 17:43:01 via Website

Sehr komisch.
In der App ist das mit dem neu laden in shouldOverrideUrl immer noch aus?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 18:37:18 via Website

mal eine frage zwichen durch warum wird in der Methode immer True zrückgeben ?
ganz gleich in welchen if zweig gegangen wird in der loadPage.

wann und wer benutzt die methode "loadHtml" ?

ich habe es mir nur in einem texteditor angesehen aber finde keinen aufruf dieser methode von der du hier sprichst.

— geändert am 25.09.2020, 18:49:15

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 19:02:40 via Website

eigentlich ist diese methode "shouldOverrideUrl" so in der form seit API 24 deprecated.

public boolean shouldOverrideUrlLoading (WebView view, String url)

This method was deprecated in API level 24. Use
shouldOverrideUrlLoading(WebView, WebResourceRequest) instead.

https://developer.android.com/reference/android/webkit/WebViewClient#shouldOverrideUrlLoading(android.webkit.WebView,%20android.webkit.WebResourceRequest)

— geändert am 25.09.2020, 19:06:11

Hilfreich?
Martin BanuPascal P.
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2020, 19:17:03 via Website

Du findest den Aufruf auch nicht, sondern diese wird von der System WebView aufgerufen (Listener/Interface Prinzip) wenn eine neue URL geladen wird.
Wenn true zurückgegeben wird, kann eine neue URL geladen werden und bei false nicht.
Das ist für einen "kiosk mode" gedacht, bei dem der Nutzer innerhalb einer WebView immer auf der selben seite bleiben und über Links nicht wegnavigieren können,

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 19:33:10 via Website

Du findest den Aufruf auch nicht, sondern diese wird von der System WebView aufgerufen

kann nicht sein loadHtml(String htmlString) ist keine @Override methode.
in der

public boolean shouldOverrideUrlLoading(WebView webView, String webUrl) {
                    loadPage(webUrl);
                return true;
            }

wird loadPage aufgerufen.
die loadHtml von der die rede war wird nie aufgerufen.

aber deprecated ist die shouldOverrideUrl doch zweiter Parammeter.

PS ist ja auch der gleiche code bis auf die letzte zeile der Methoden.
163 und 188.

163 webView.loadUrl(webUrl);

188 webView.loadData(htmlString, "text/html; charset=utf-8", "UTF-8");

der erste parameter ist gleich.

Das es früher ging wird wohl daran liegen das es mit einer Alten Android Studio Version und mit einen alten SDK Build Version übersetzt wurde. Die es mit den Deprecated Methoden wohl nicht so genau genommen hat.

— geändert am 25.09.2020, 19:59:34

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.09.2020, 21:52:01 via Website

@pascal
Leider ist das mit dem Rückgabe true auch so nicht ganz sinnvoll wenn am Ende doch die gleiche url geladen wird.

webView.loadUrl(webUrl).

Schaue mal in die Doku zu
shouldOverrideUrlLoading

Note: Do not call WebView#loadUrl(String) with the request's URL and then return true. This unnecessarily cancels the current load and starts a new load with the same URL. The correct way to continue loading a given URL is to simply return false, without calling WebView#loadUrl(String).

— geändert am 25.09.2020, 22:34:22

Hilfreich?
Martin Banu
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

26.09.2020, 12:01:13 via Website

Hallo
Ich habe das mit den „return true“ geändert und bei mir auf einen Android 9 Handy läuft es.
So wie es auch in der Doku empfohlen wird.
Die Methode loadPage hat nun einen Rückgabe wert.

hier der Code das ist alles was ich an den original code geändert habe.

       @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String webUrl) {
            return loadPage(webUrl);
        }

//-----------------------------------------
public boolean loadPage(String webUrl) {
if (isNetworkAvailable(mContext)) {
Log.d(TAG, "loadPage: URL " + webUrl);
if (webUrl.startsWith("tel:") || webUrl.startsWith("sms:") || webUrl.startsWith("smsto:")
|| webUrl.startsWith("mms:") || webUrl.startsWith("mmsto:")
|| webUrl.startsWith("mailto:") || webUrl.contains("youtube.com")
|| webUrl.contains("geo:")) {
invokeNativeApp(webUrl);
} else if (webUrl.contains("?target=blank")) {
invokeNativeApp(webUrl.replace("?target=blank", ""));
} else if (webUrl.endsWith(".doc") || webUrl.endsWith(".docx") || webUrl.endsWith(".xls")
|| webUrl.endsWith(".xlsx") || webUrl.endsWith(".pptx") || webUrl.endsWith(".pdf")) {

            webView.loadUrl(GOOGLE_DOCS_VIEWER + webUrl);
            webView.getSettings().setBuiltInZoomControls(true);
        } else {
             return false;
            //AppUtils.openWebPage(mContext,webUrl);
        }

    } else {
        webListener.onNetworkError();
    }
    return true;
}

— geändert am 26.09.2020, 12:08:52

Hilfreich?
Martin BanuPascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

26.09.2020, 12:12:54 via Website

@Pascal Danke
du siehs ich hatte doch recht mit dem Rpückgabe wert.

ist doch nicht ganz so wie du sagst .

Hilfreich?
Martin Banu
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.09.2020, 12:17:24 via Website

Ich kann auch nicht immer Recht haben ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Martin Banu
Kommentieren
swa00
  • Forum-Beiträge: 3.704

26.09.2020, 12:32:57 via Website

Schade ist nur, dass sich mittlerweile nur noch maximal drei Personen darum "fetzen" müssen,
ob sie Recht haben :-)

Pascal : Hatte erst die Tage nochmal drüber nachgedacht , wie du mir in der Anfangszeit (2016)
geholfen hast. Dafür werde ich dir ewig Dankbar sein :-)

Und Unser Jörg : Unermüdlich aktiv bis ins letzte Detail -

Da kann man nur Danke sagen !!!

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Martin Banu, Pascal P. und 1 mehr Martin BanuPascal P.Jokel
Kommentieren
Martin Banu
  • Forum-Beiträge: 12

28.09.2020, 16:42:21 via Website

sorry für die späte antwort hatte den link nur auf der arbeit gespeichert ,
Vielen dank für eure mühe & hilfe , blicke grade nur nicht ganz durch wie ich es nun einfügen muss
ich würde annehmen das ich

das : pastebin.com/raw/uabRUA4R

durch das : pastebin.com/raw/kM631MWh ersetzen muss richtig ?

und muss jetz nur das verändert werden oder das was wir vorher auf seite 1 geändert haben auch ?

danke :)

Edit: funktioniert jetz top

— geändert am 28.09.2020, 16:54:44

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

28.09.2020, 19:37:36 via Website

Hallo
freut micht das es läuft :)

Hilfreich?
Martin Banu
Kommentieren