¿Cómo interceptar cargas de URL en WebView (Android)?

Tengo una vista web en la que cargo una página con un enlace personalizado (como app: // action). Registré los esquemas de url en el archivo de manifiesto y cuando hago clic en el enlace, se llama al método onResume () de mi actividad con los datos correctos y funciona bien.

Mi problema es que el WebView todavía intenta cargar el enlace y mi WebView termina mostrando un mensaje de "página web no disponible". No quiero eso

¿Cómo puedo evitar que el WebView cargue la url?

Aquí está mi código:

WebView banner = ...
banner.setWebViewClient(new WebViewClient() {

    @Override
    public void onLoadResource(WebView view, String url) {

        if (url.startsWith("app://")) {

            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url), getContext(), Main.class);
            //startActivity(i);
        }
    }
}

banner.loadUrl("url_to_the_banner");

Respuestas a la pregunta(2)

Su respuesta a la pregunta