I've written an application creating contact shortcut on android home screen. A problem appears if the contact icon has transparent pixels: the shortcut's background is filled with white color.
Here is a piece of code creating shortcut:
Uri numberUri = Uri.parse("tel:" + phoneNumber);
Intent callIntent = new Intent(Intent.ACTION_CALL, numberUri);
callIntent.setClassName(packageName, className);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, callIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, contactName);
int size = (int) context.getResources().getDimension(android.R.dimen.app_icon_size);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, Bitmap.createScaledBitmap(bitmap, size, size, false));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);