If you have trouble pinning your custom icon to Launcher dynamically, try this library!
What’s this library for?
Sometimes we need to change icons dynamically via our code.
But in China, there are so many Launchers, so that we need to adapt each of them
to put our customized icons on it.
Also, there are some differences between older Android System and newer Android System,
which is also annoying.