接:解决上篇博客留下的问题
1 运用本地图片,即drawable中的图片,这些图片完全可以通过id来访问
2 运用网络图片,即打包apk时图片不存在的,是通过http请求下载下来的图片,可能会显示在应用的某个地方
现在来说创建快捷方式的方法:
// 安装的Intent
Intent shortcut = new Intent(“com.android.launcher.action.INSTALL_SHORTCUT”);
// 快捷名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, tName);
// 快捷图标是否允许重复
shortcut.putExtra(“duplicate”, false);
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setClassName(getPackageName(), "您的应用的入口");
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
// 快捷图标 本地Drawable中的图标 两种方式就这里不一样
Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_head);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
==================================================================
//第二种方式创建的 ivDirectCardHead 为你下载图片显示的imageView
Drawable d = ivDirectCardHead.getDrawable();//通过imageview获取drawable
BitmapDrawable bd = (BitmapDrawable)d;//将drawable转化为bitmap
Bitmap bitmap = bd.getBitmap();
bitmap = Bitmap.createScaledBitmap(bitmap,142,142,true);//缩放bitmap
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);
================================================================
// 发送广播
sendBroadcast(shortcut);
重点是在创建icon的时候的传参,一个是ICON,一个是ICON_RESOURCE。
两种方法的区别已经在代码里面注释了,纯属个人记录,如有错误请勿见怪。