android.webkit.URLUtil#isValidUrl ( )源码实例Demo

下面列出了android.webkit.URLUtil#isValidUrl ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ETSMobile-Android2   文件: Utility.java
public static void openChromeCustomTabs(Context context, String url, boolean showTitle) {

        if (!URLUtil.isValidUrl(url)) {
            Log.w("Utility", "Url not valid!");
            Log.w("Utility", url);
            return;
        }

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        Bundle extras = new Bundle();

        // Something needs to be done about the min SDK...
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            extras.putBinder(Constants.EXTRA_CUSTOM_TABS_SESSION, null);
            extras.putInt(Constants.EXTRA_CUSTOM_TABS_TOOLBAR_COLOR, ContextCompat.getColor(context, R.color.ets_red_fonce));

            if (showTitle) {
                extras.putInt(Constants.EXTRA_CUSTOM_TABS_TITLE_VISIBILITY_STATE, Constants.EXTRA_CUSTOM_TABS_SHOW_TITLE);
            }
        }
        intent.putExtras(extras);
        context.startActivity(intent);
    }
 
源代码2 项目: px-android   文件: TermsAndConditionsActivity.java
private void showMPTermsAndConditions() {
    mProgressLayout.setVisibility(View.VISIBLE);
    mTermsAndConditionsWebView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(final WebView view, final String url) {
            mProgressLayout.setVisibility(View.GONE);
            mMPTermsAndConditionsView.setVisibility(View.VISIBLE);
        }
    });

    if (URLUtil.isValidUrl(data)) {
        mTermsAndConditionsWebView.getSettings().setUserAgentString("MercadoLibre-Android/"+ BuildConfig.VERSION_NAME);
        mTermsAndConditionsWebView.loadUrl(data);
    } else {
        mTermsAndConditionsWebView.loadData(data, "text/html", "UTF-8");
    }
}
 
源代码3 项目: candybar-library   文件: AboutAdapter.java
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    if (holder.getItemViewType() == TYPE_HEADER) {
        HeaderViewHolder headerViewHolder = (HeaderViewHolder) holder;

        String imageUri = mContext.getString(R.string.about_image);

        if (ColorHelper.isValidColor(imageUri)) {
            headerViewHolder.image.setBackgroundColor(Color.parseColor(imageUri));
        } else if (!URLUtil.isValidUrl(imageUri)) {
            imageUri = "drawable://" + DrawableHelper.getResourceId(mContext, imageUri);
            ImageLoader.getInstance().displayImage(imageUri, headerViewHolder.image,
                    ImageConfig.getDefaultImageOptions(true));
        } else {
            ImageLoader.getInstance().displayImage(imageUri, headerViewHolder.image,
                    ImageConfig.getDefaultImageOptions(true));
        }

        String profileUri = mContext.getResources().getString(R.string.about_profile_image);
        if (!URLUtil.isValidUrl(profileUri)) {
            profileUri = "drawable://" + DrawableHelper.getResourceId(mContext, profileUri);
        }

        ImageLoader.getInstance().displayImage(profileUri, headerViewHolder.profile,
                ImageConfig.getDefaultImageOptions(true));
    }
}
 
源代码4 项目: candybar   文件: AboutAdapter.java
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    if (holder.getItemViewType() == TYPE_HEADER) {
        HeaderViewHolder headerViewHolder = (HeaderViewHolder) holder;

        String imageUri = mContext.getString(R.string.about_image);

        if (ColorHelper.isValidColor(imageUri)) {
            headerViewHolder.image.setBackgroundColor(Color.parseColor(imageUri));
        } else if (!URLUtil.isValidUrl(imageUri)) {
            imageUri = "drawable://" + DrawableHelper.getResourceId(mContext, imageUri);
            ImageLoader.getInstance().displayImage(imageUri, headerViewHolder.image,
                    ImageConfig.getDefaultImageOptions(true));
        } else {
            ImageLoader.getInstance().displayImage(imageUri, headerViewHolder.image,
                    ImageConfig.getDefaultImageOptions(true));
        }

        String profileUri = mContext.getResources().getString(R.string.about_profile_image);
        if (!URLUtil.isValidUrl(profileUri)) {
            profileUri = "drawable://" + DrawableHelper.getResourceId(mContext, profileUri);
        }

        ImageLoader.getInstance().displayImage(profileUri, headerViewHolder.profile,
                ImageConfig.getDefaultImageOptions(true));
    }
}
 
/**
 * loads a custom url from the url bar
 * @param v
 * @param actionId
 * @return
 */
@OnEditorAction(R.id.website_input)
boolean onEditorAction(TextView v, int actionId){

    if (URLUtil.isValidUrl(v.getText().toString()))
        webView.loadUrl(v.getText().toString());
    else
        Toast.makeText(getActivity(),getString(R.string.web_error_toast), Toast.LENGTH_SHORT).show();
    Util.hideKeyboard(websiteInput, getActivity());
    return true;
}
 
源代码6 项目: aircon   文件: AirConUtils.java
public static boolean isValidUrl(final String url) {
    final boolean validUrl = URLUtil.isValidUrl(url);
    if (!validUrl) {
        log().e("Got invalid url: " + url);
    }
    return validUrl;
}
 
public static boolean isConfigUrlValid(){
    if (OpenTokConfig.CHAT_SERVER_URL == null) {
        configErrorMessage = "CHAT_SERVER_URL in OpenTokConfig.java must not be null";
        return false;
    } else if ( !( URLUtil.isHttpsUrl(OpenTokConfig.CHAT_SERVER_URL) || URLUtil.isHttpUrl(OpenTokConfig.CHAT_SERVER_URL)) ) {
        configErrorMessage = "CHAT_SERVER_URL in OpenTokConfig.java must be specified as either  http or https";
        return false;
    } else if ( !URLUtil.isValidUrl(OpenTokConfig.CHAT_SERVER_URL) ) {
        configErrorMessage = "CHAT_SERVER_URL in OpenTokConfig.java is not a valid URL";
        return false;
    } else {
        return true;
    }
}
 
源代码8 项目: intent_radio   文件: IntentPlayer.java
public int play_launch(String url)
{
   log("Launching: ", url);

   launch_url = null;
   if ( ! URLUtil.isValidUrl(url) )
   {
      toast("Invalid URL.");
      return stop();
   }

   launch_url = url;

   // Note:  Because of the way we handle network connectivity, the player
   // always stops and then restarts as we move between network types.
   // Therefore, stop() and start() are always called.  So we always have
   // the WiFi lock if we're on WiFi and we need it, and don't otherwise.
   // 
   // Here, we could be holding a WiFi lock because the playlist URL was a
   // network URL, but perhaps now the launch URL is not.  Or the other way
   // around.  So release the WiFi lock (if it's being held) and reaquire
   // it, if necessary.
   WifiLocker.unlock();
   if ( isNetworkUrl(url) )
      WifiLocker.lock(context, app_name_long);

   try
   {
      player.setVolume(1.0f, 1.0f);
      player.setDataSource(context, Uri.parse(url));
      player.prepareAsync();
   }
   catch (Exception e)
      { return stop(); }

   start_buffering();
   return done(State.STATE_BUFFER);
}
 
public void getSourceCode(View view) {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    if (inputMethodManager != null){
        inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }

    String queryString = mURLEditText.getText().toString();


    // check connectivity before executing query
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = null;
    if (connectivityManager != null){
        networkInfo = connectivityManager.getActiveNetworkInfo();
    }

    if (networkInfo != null && networkInfo.isConnected() && (queryString.length() != 0)){
        Bundle queryBundle = new Bundle();
        queryBundle.putString(QUERY, queryString);
        queryBundle.putString(PROTOCOL, mSpinnerValue);
        getSupportLoaderManager().restartLoader(0, queryBundle, this);
        mSourceCodeTextView.setText(R.string.loading);
    }
    else{
        if (queryString.length() == 0){
            Toast.makeText(this, R.string.no_url, Toast.LENGTH_LONG).show();
        }
        else if(!URLUtil.isValidUrl(queryString)){
            Toast.makeText(this, R.string.invalid_url, Toast.LENGTH_LONG).show();
        }
        else{
            Toast.makeText(this, R.string.no_connection, Toast.LENGTH_LONG).show();
        }
    }

}
 
源代码10 项目: client-android   文件: PBPreferenceFragment.java
private boolean validatePreferences() {
    String serverUrl = preferences.getString(PBServerPreferenceFragment.PREF_SERVER_URL, "");
    if (!URLUtil.isValidUrl(serverUrl) || serverUrl.isEmpty()) {
        Toast.makeText(getActivity(), R.string.toast_urisyntaxexception, Toast.LENGTH_LONG).show();
        return false;
    }

    String serverPassHash = preferences.getString(PBServerPreferenceFragment.PREF_SERVER_PASS_HASH, "");
    if (serverPassHash.isEmpty()) {
        Toast.makeText(getActivity(), R.string.toast_serverpassempty, Toast.LENGTH_LONG).show();
        return false;
    }

    return true;
}
 
源代码11 项目: react-native-tensorflow   文件: ResourceManager.java
public byte[] loadResource(String resource) {
    if(resource.startsWith("file://")) {
        return loadFromLocal(resource.substring(7));
    } else if(URLUtil.isValidUrl(resource)) {
        return loadFromUrl(resource);
    } else {
        return loadFromLocal(resource);
    }
}
 
源代码12 项目: candybar-library   文件: UrlHelper.java
public static Type getType(String url) {
    if (url == null) return Type.INVALID;
    if (!URLUtil.isValidUrl(url)) {
        if (Patterns.EMAIL_ADDRESS.matcher(url).matches()) {
            return Type.EMAIL;
        }
        return Type.INVALID;
    }

    if (url.contains("behance.")) {
        return Type.BEHANCE;
    } else if (url.contains("dribbble.")) {
        return Type.DRIBBBLE;
    } else if (url.contains("facebook.")) {
        return Type.FACEBOOK;
    } else if (url.contains("github.")) {
        return Type.GITHUB;
    } else if (url.contains("plus.google.")) {
        return Type.GOOGLE_PLUS;
    } else if (url.contains("instagram.")) {
        return Type.INSTAGRAM;
    } else if (url.contains("pinterest.")) {
        return Type.PINTEREST;
    } else if (url.contains("twitter.")) {
        return Type.TWITTER;
    } else {
        return Type.UNKNOWN;
    }
}
 
@NonNull
protected String getInitialUrl() {
    if (URLUtil.isValidUrl(binding.webview.getUrl())) {
        return binding.webview.getUrl();
    } else if (getArguments() != null) {
        final String pathId = getArguments().getString(EXTRA_PATH_ID);
        return environment.getConfig().getDiscoveryConfig().getCourseDiscoveryConfig()
                .getInfoUrlTemplate()
                .replace("{" + EXTRA_PATH_ID + "}", pathId);
    }
    return environment.getConfig().getDiscoveryConfig().getCourseDiscoveryConfig().getBaseUrl();
}
 
源代码14 项目: wallpaperboard   文件: UrlHelper.java
public static Type getType(String url) {
    if (url == null) return Type.INVALID;
    if (!URLUtil.isValidUrl(url)) {
        if (Patterns.EMAIL_ADDRESS.matcher(url).matches()) {
            return Type.EMAIL;
        }
        return Type.INVALID;
    }

    if (url.contains("behance.")) {
        return Type.BEHANCE;
    } else if (url.contains("dribbble.")) {
        return Type.DRIBBBLE;
    } else if (url.contains("facebook.")) {
        return Type.FACEBOOK;
    } else if (url.contains("github.")) {
        return Type.GITHUB;
    } else if (url.contains("plus.google.")) {
        return Type.GOOGLE_PLUS;
    } else if (url.contains("instagram.")) {
        return Type.INSTAGRAM;
    } else if (url.contains("pinterest.")) {
        return Type.PINTEREST;
    } else if (url.contains("twitter.")) {
        return Type.TWITTER;
    } else {
        return Type.UNKNOWN;
    }
}
 
源代码15 项目: intent_radio   文件: Playlist.java
protected String doInBackground(Void... args)
{
   String url = start_url;
   int ttl = max_ttl;
   int type = NONE;

   if ( url != null && url.length() != 0 && URLUtil.isValidUrl(url) )
      type = playlist_type(url);
   else
      url = null;

   if ( 0 < ttl && url != null && type != NONE )
   {
      ttl -= 1;
      log("Playlist url: ", url);
      log("Playlist type: ", ""+type);

      url = select_url_from_playlist(url,type);
      if ( url != null && url.length() != 0 && URLUtil.isValidUrl(url) )
         type = playlist_type(url);
      else
         url = null;
   }

   if ( url  == null ) { log("Playlist: failed to extract url."     );             }
   if ( ttl  == 0    ) { log("Playlist: too many playlists (TTL)."  ); url = null; }
   if ( url  != null ) { log("Playlist final url: ", url            );             }

   return url;
}
 
源代码16 项目: candybar   文件: CandyBarMainActivity.java
private void initNavigationViewHeader() {
    if (CandyBarApplication.getConfiguration().getNavigationViewHeader() == CandyBarApplication.NavigationViewHeader.NONE) {
        mNavigationView.removeHeaderView(mNavigationView.getHeaderView(0));
        return;
    }

    String imageUrl = getResources().getString(R.string.navigation_view_header);
    String titleText = getResources().getString(R.string.navigation_view_header_title);
    View header = mNavigationView.getHeaderView(0);
    HeaderView image = header.findViewById(R.id.header_image);
    LinearLayout container = header.findViewById(R.id.header_title_container);
    TextView title = header.findViewById(R.id.header_title);
    TextView version = header.findViewById(R.id.header_version);

    if (CandyBarApplication.getConfiguration().getNavigationViewHeader() == CandyBarApplication.NavigationViewHeader.MINI) {
        image.setRatio(16, 9);
    }

    if (titleText.length() == 0) {
        container.setVisibility(View.GONE);
    } else {
        title.setText(titleText);
        try {
            String versionText = "v" + getPackageManager()
                    .getPackageInfo(getPackageName(), 0).versionName;
            version.setText(versionText);
        } catch (Exception ignored) {
        }
    }

    if (ColorHelper.isValidColor(imageUrl)) {
        image.setBackgroundColor(Color.parseColor(imageUrl));
        return;
    }

    if (!URLUtil.isValidUrl(imageUrl)) {
        imageUrl = "drawable://" + DrawableHelper.getResourceId(this, imageUrl);
    }

    ImageLoader.getInstance().displayImage(imageUrl, new ImageViewAware(image),
            ImageConfig.getDefaultImageOptions(true), new ImageSize(720, 720), null, null);
}
 
源代码17 项目: candybar   文件: CandyBarArtWorker.java
@Override
@NonNull
public Result doWork() {
    LogUtil.d("Executing doWork() for Muzei");
    if (!URLUtil.isValidUrl(mContext.getString(R.string.wallpaper_json))) {
        LogUtil.e("Not a valid Wallpaper JSON URL");
        return Result.failure();
    }

    List<Wallpaper> wallpapers = Database.get(mContext).getWallpapers();

    ProviderClient providerClient = ProviderContract.getProviderClient(getApplicationContext(), WORKER_TAG);

    if (Preferences.get(getApplicationContext()).isConnectedAsPreferred()) {
        ArrayList artworks = new ArrayList<Artwork>();

        for (Wallpaper wallpaper : wallpapers) {
            if (wallpaper != null) {
                Uri uri = Uri.parse(wallpaper.getURL());

                Artwork artwork = new Artwork.Builder()
                        .title(wallpaper.getName())
                        .byline(wallpaper.getAuthor())
                        .persistentUri(uri)
                        .build();

                if (!artworks.contains(artwork)) {
                    artworks.add(artwork);
                } else {
                    LogUtil.d("Already Contains Artwork" + wallpaper.getName());
                }
            } else {
                LogUtil.d("Wallpaper is Null");
            }
        }

        LogUtil.d("Closing Database - Muzei");
        Database.get(mContext).closeDatabase();

        providerClient.setArtwork(artworks);
        return Result.success();
    }

    return Result.failure();
}
 
源代码18 项目: SimplicityBrowser   文件: MainActivity.java
public void loadUrlFromTextBox() {
    String unUrlCleaner = mSearchView.getText().toString();
    if (unUrlCleaner.startsWith("www") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".com") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".gov") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".net") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".org") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".mil") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".edu") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".int") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".ly") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".de") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".uk") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".it") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".jp") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".ru") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".gl") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.endsWith(".me") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else if (unUrlCleaner.contains(".") && !unUrlCleaner.contains(" ") || URLUtil.isValidUrl(unUrlCleaner)) {
        if (!URLUtil.isValidUrl(unUrlCleaner)) unUrlCleaner = URLUtil.guessUrl(unUrlCleaner);
        mWebView.loadUrl(unUrlCleaner);
    } else {
        mWebView.loadUrl(defaultSearch + unUrlCleaner);
    }

}
 
源代码19 项目: candybar-library   文件: CandyBarMainActivity.java
private void initNavigationViewHeader() {
    if (CandyBarApplication.getConfiguration().getNavigationViewHeader() == CandyBarApplication.NavigationViewHeader.NONE) {
        mNavigationView.removeHeaderView(mNavigationView.getHeaderView(0));
        return;
    }

    String imageUrl = getResources().getString(R.string.navigation_view_header);
    String titleText = getResources().getString(R.string.navigation_view_header_title);
    View header = mNavigationView.getHeaderView(0);
    HeaderView image = header.findViewById(R.id.header_image);
    LinearLayout container = header.findViewById(R.id.header_title_container);
    TextView title = header.findViewById(R.id.header_title);
    TextView version = header.findViewById(R.id.header_version);

    if (CandyBarApplication.getConfiguration().getNavigationViewHeader() == CandyBarApplication.NavigationViewHeader.MINI) {
        image.setRatio(16, 9);
    }

    if (titleText.length() == 0) {
        container.setVisibility(View.GONE);
    } else {
        title.setText(titleText);
        try {
            String versionText = "v" + getPackageManager()
                    .getPackageInfo(getPackageName(), 0).versionName;
            version.setText(versionText);
        } catch (Exception ignored) {}
    }

    if (ColorHelper.isValidColor(imageUrl)) {
        image.setBackgroundColor(Color.parseColor(imageUrl));
        return;
    }

    if (!URLUtil.isValidUrl(imageUrl)) {
        imageUrl = "drawable://" + DrawableHelper.getResourceId(this, imageUrl);
    }

    ImageLoader.getInstance().displayImage(imageUrl, new ImageViewAware(image),
            ImageConfig.getDefaultImageOptions(true), new ImageSize(720, 720), null, null);
}
 
源代码20 项目: Shaarlier   文件: NetworkUtils.java
/**
 * Check if a string is an url
 * TODO : unit test on this, I'm not quite sure it is perfect...
 */
public static boolean isUrl(String url) {
    return URLUtil.isValidUrl(url) && !"http://".equals(url);
}