Wie 412 Vorbedingungsfehler in Android WebView URL zu erkennen

Ich verwende eine authentifizierte Webansicht für meine App. Es gibt eine URL, die in Bezug auf einen Suchbegriff aufgerufen wird. Wenn Sie also abc in das Suchfeld eingeben, wird die URL aufgerufen. "http://something.com/something/ABC/ something ". Es wird in Ordnung geladen, bis ich einen ungültigen Suchbegriff habe. Wenn ich" INVALIDCRAP "eingebe, wird die URL weiterhin als"http://something.com/something/INVALIDCRAP/ irgendwas und versuche es zu laden und gebe mir so den 412 Vorbedingungsfehler. Ich möchte es so machen, dass, falls der Bezeichner "INVALIDCRAP" nicht existiert, anstelle des 412-Vorbedingungsfehlers "google.com" angezeigt wird. Vielen Dank im Voraus Hier ist mein Code für das gleiche:

 @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            Bundle bundle = this.getArguments();
            URL = getUrl();

            if(bundle != null)
                mSearchTerm = getArguments().getString(SEARCH_TERM);

             }
     public void setSearchTerms(String sTerms){
         mSearchTerm = sTerms;
     }
private static String getUrl(){
        String url = "";

        final String getuuid = SharedPreferencesManager.getInstance().getUUID();
        final String environmentApi = SharedPreferencesManager.getInstance().getEnvironmentApi();
        if (environmentApi.equalsIgnoreCase(NetworkUtils.Apis.ALPHA)) {
            "https://something.com/service/v1/?q="+mSearchTerm+"%20revenue&ui.theme=novadark&uuid="+getuuid+"&userAgent=android";



        }


@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        if (goingBack) {
            return null;
        }
        final MainActivity activity = (MainActivity) getActivity();
        final Resources resources = Application.getAppResources();

        activity.setBackPressListener(this);
        View view = inflater.inflate(R.layout.fragment_search_answers, container, false);


        mWebview =  (WebView)view.findViewById(R.id.webview);
        progressBar = (LinearLayout) view.findViewById(R.id.loading);   
        mWebview.setVisibility(View.VISIBLE);

        progressBar.setVisibility(View.VISIBLE);

            mWebview.setWebViewClient(new MyWebViewClient(this, mWebview));

            mWebview.setBackgroundColor(0);
            mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            mWebview.getSettings().setAllowFileAccess(true);
            mWebview.getSettings().setDomStorageEnabled(true);
            mWebview.getSettings().setJavaScriptEnabled(true);

            mWebview.setHttpAuthUsernamePassword(HOST, REALM, USERNAME, PASSWORD);
            mWebview.setScrollbarFadingEnabled(false);
            mWebview.getSettings().getLoadsImagesAutomatically();


            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
            mWebview.getSettings().setDisplayZoomControls(false);
            if(StringUtils.isEmpty(URL)){

            }else if(!StringUtils.isEmpty(URL)){


                if(URLUtil.isValidUrl(URL)){
                     mWebview.loadUrl(URL);
                }else{
                    mWebview.loadUrl("http://www.google.com");


                }

            }



        return view;
    }

  public class MyWebViewClient extends WebViewClient {
        private String loginCookie;
        public MyWebViewClient(AnswersWebViewFragment answersWebViewFragment, WebView webview) {
            super();
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            view.setVisibility(View.VISIBLE);

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            view.setVisibility(View.VISIBLE);
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.setCookie(url, loginCookie);
            final Animation fade = new AlphaAnimation(0.0f, 1.0f);
            fade.setDuration(200);
            view.startAnimation(fade);
            view.setVisibility(View.VISIBLE);
            progressBar.setVisibility(View.GONE);

        }
        @Override
        public void onReceivedError( WebView view, int errorCode, String description, String failingUrl ) {
            Toast.makeText(view.getContext(), "Authentication Error", Toast.LENGTH_LONG).show();
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

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

        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

                return super.shouldOverrideUrlLoading(view, url);


        }


        @Override
        public void onReceivedHttpAuthRequest( WebView view, final HttpAuthHandler handler, final String host, final String realm ){
                handler.proceed(USERNAME,PASSWORD);

    }

         @Override
        public void onReceivedSslError( WebView view, SslErrorHandler handler, SslError error ) {
            handler.proceed();
        }

    }

Hier ist der Bildschirm für das gleiche:

Antworten auf die Frage(1)

Ihre Antwort auf die Frage