Hallo!
Habe mit Android Studio einen kleine APP mit webview erstellt die eine Webseite laden soll. Das ganze funktioniert gut. Das einzige Problem das ich habe ist, dass innerhalb der Webseite div. Einträge gelistet sind die auf eine Telefonnummer hinweisen. Es handelt sich dabei um einen Button. Wenn man da drauf klickt sollte die jeweilige Person angerufen werden. Außerhalb der APP im Browser (IOS als auch Android) läuft es fehlerfrei. Beim klicken des Buttons erhalte ich die Möglichkeit die angeführte Tel. anzurufen.
Wenn ich in der APP drauf klicke bekomme ich folgende Fehlermeldung:
Webseite nicht verfügbar
Die Webseite unter tel:0xxxxxxxxx konte nicht geladen weil:
net::ERR_UNKNOWN_URL_SCHEME
So sieht mein MainActivity.java File aus:
package name.work;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import name.work.R;
public class MainActivity extends Activity {
WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.loadUrl("https://www.mydomain.work");
myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
viewx.loadUrl(urlx);
return false;
}
});
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack(); // Go to previous page
return true;
}
// Use this as else part
return super.onKeyDown(keyCode, event);
}
}
Alles anzeigen
Ich habe ein wenig im Internet recherchiert und den Code um folgende Zeilen erweitert:
public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
if (urlx.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(urlx));
startActivity(intent);
return true;
}
viewx.loadUrl(urlx);
return true;
}
Alles anzeigen
Leider ohne Erfolg. Ich bekomme nach wie vor die Fehlermeldung:
Webseite nicht verfügbar
Die Webseite unter tel:0xxxxxxxxx konte nicht geladen weil:
net::ERR_UNKNOWN_URL_SCHEME
Würde mich sehr freuen, wenn ihr mit weiterhelfen könntet
DANKE
Liebe Grüße
shotput2020