Skip to content Skip to sidebar Skip to footer

Any Way To Grab A Logo Icon From Website Url, Programmatically?

I am in the process of creating an activity where I will show the list of website visited with its logo and its alias name chosen by user. e.g. Recent Websites Visited logo1 websi

Solution 1:

Use this website:

https://besticon-demo.herokuapp.com/allicons.json?url=www.stackoverflow.com

It will find all logos for a website in multiple sizes and return a nice json string with meta data including the url to the icon. You simply replace www.stackoverflow.com with your domain.

The site also has a gui for entering in websites manually if you prefer:

https://besticon-demo.herokuapp.com/

Here is a sample string returned from querying for the stack overflow website:

{"url":"www.stackoverflow.com","icons":[{"url":"http://stackoverflow.com/apple-touch-icon.png","width":158,"height":158,"format":"png","bytes":3445,"error":null,"sha1sum":"c78bd457575a3221c6b3d0d17ffb00ffc63d7cd0"},{"url":"http://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico?v=4f32ecc8f43d","width":32,"height":32,"format":"ico","bytes":5430,"error":null,"sha1sum":"4f32ecc8f43d0986b9c6ce9f37999e86c0b829ef"},{"url":"http://stackoverflow.com/favicon.ico","width":32,"height":32,"format":"ico","bytes":5430,"error":null,"sha1sum":"4f32ecc8f43d0986b9c6ce9f37999e86c0b829ef"}]}

Solution 2:

It's called a favicon, and all you have to do is:

  1. If there's an icon at /favicon.ico, use that.
  2. Otherwise, get the content of the page, and extract the location from <link rel="shortcut icon" href="URL goes here" />. You’ll need to use an HTML parser and find the <link> with a rel of either icon or shortcut icon.

Solution 3:

I know I am late but this API will help others

Android doesn't support favicon files. You can fetch favicon but can't show/use it.

But Google provides free API to get favicon in image format.

https://www.google.com/s2/favicons?sz=64&domain_url=microsoft.com

Use Picasso to show icon in imageview.

Solution 4:

Use this logo.clearbit.com/stackoverflow.com

You can even customize to get particular size and grascaled version

logo.clearbit.com/stackoverflow.com?size=80&greyscale=true

Solution 5:

This method can be used to get Favicon Icon bitmap

private Bitmap fetchFavicon(Uri uri) {
        finalUriiconUri= uri.buildUpon().path("favicon.ico").build();
        Log.i(TAG, "Fetching favicon from: " + iconUri);

        InputStreamis=null;
        BufferedInputStreambis=null;
        try
        {
            URLConnectionconn=newURL(iconUri.toString()).openConnection();
            conn.connect();
            is = conn.getInputStream();
            bis = newBufferedInputStream(is, 8192);
            return BitmapFactory.decodeStream(bis);
        } catch (IOException e) {
            Log.w(TAG, "Failed to fetch favicon from " + iconUri, e);
            returnnull;
        }
    }

Post a Comment for "Any Way To Grab A Logo Icon From Website Url, Programmatically?"