shouldOverrideUrlLoading für 2 urls

  • Antworten:4
Seilbahn
  • Forum-Beiträge: 40

25.09.2017, 15:01:31 via Website

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String url3 = "lautfm-spicehits.radio.de";
String url2 = "https://spicehits.de/";
// all links with in ur site will be open inside the webview
//links that start ur domain example(http://www.chatadda.com/)
if (url != null && url.startsWith(url2)) {
return false;
}
// all links that points outside the site will be open in a normal android browser
else {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}

Geht das auch für 2 urls also url3? Mit else if und das selbe für url3 hats nicht geklappt. Danke, Lg Felix

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.09.2017, 16:41:19 via Website

Hallo Seilbahn,
ja das klappt auch, du musst nur deine "url3" komplett angeben, also mit http[s] oder noch dazu www. je nachdem wie die Url aufgerufen wird.

String url3 = "https://lautfm-spicehits.radio.de"; 

Mach ein Log.d() in die Methode rein, dann wirst du sehen was der URL Parameter ist und dann ensprechend reagieren.

PS: Sollten es nachher mehr Urls als 2 sein, würde ich eine ArrayList nehmen und dann mit einer schleife arbeiten. Ist Code sparend und leichter erweiterbar ;)

— geändert am 25.09.2017, 16:42:28

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

Antworten
Seilbahn
  • Forum-Beiträge: 40

25.09.2017, 17:17:20 via Website

Hab ich getestet. Url passt soweit und mit anderen domains gings auch net.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.09.2017, 08:23:42 via Website

Erlaube erstmal alle URLs und dann schau welche strings ins shouldOverrideUrls ankommen.
Danach kannst du einen Filter setzen.
Zudem, wie sieht denn dein Log aus, wenn du Logs drin hast?
Eigentlich musst du die URLs dann herausbekommen, voraussetzung ist, dass du erstmal alle erlaubst.

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

Antworten
Seilbahn
  • Forum-Beiträge: 40

28.09.2017, 09:18:42 via App

Machen wirs mit ner Arraylist

Antworten