android 添加快捷方式并且图标上添加数字

简介:
我们可以给桌面添加快捷方式的时候 制定一个带数字的图片 

 


1、添加一个方法 

Java代码   收藏代码
  1. private Bitmap generatorContactCountIcon(Bitmap icon){  
  2.         //初始化画布  
  3.         int iconSize=(int)getResources().getDimension(android.R.dimen.app_icon_size);  
  4.         Bitmap contactIcon=Bitmap.createBitmap(iconSize, iconSize, Config.ARGB_8888);  
  5.         Canvas canvas=new Canvas(contactIcon);  
  6.           
  7.         //拷贝图片  
  8.         Paint iconPaint=new Paint();  
  9.         iconPaint.setDither(true);//防抖动  
  10.         iconPaint.setFilterBitmap(true);//用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果  
  11.         Rect src=new Rect(00, icon.getWidth(), icon.getHeight());  
  12.         Rect dst=new Rect(00, iconSize, iconSize);  
  13.         canvas.drawBitmap(icon, src, dst, iconPaint);  
  14.           
  15.         //在图片上创建一个覆盖的联系人个数  
  16.         int contacyCount=11;  
  17.         //启用抗锯齿和使用设备的文本字距  
  18.         Paint countPaint=new Paint(Paint.ANTI_ALIAS_FLAG|Paint.DEV_KERN_TEXT_FLAG);  
  19.         countPaint.setColor(Color.RED);  
  20.         countPaint.setTextSize(20f);  
  21.         countPaint.setTypeface(Typeface.DEFAULT_BOLD);  
  22.         canvas.drawText(String.valueOf(contacyCount), iconSize-1825, countPaint);  
  23.         return contactIcon;  
  24.     }  


上面
Java代码   收藏代码
  1. int contacyCount=11;  

这个是写死的 你可以在程序里面更具业务来控制 

2、修改方法: 

Java代码   收藏代码
  1. private void installShortCut(){  
  2.         Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");  
  3.         shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));  
  4.         // 是否可以有多个快捷方式的副本,参数如果是true就可以生成多个快捷方式,如果是false就不会重复添加  
  5.         shortcutIntent.putExtra("duplicate"false);  
  6.         Intent mainIntent = new Intent(Intent.ACTION_MAIN);  
  7.         mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
  8.   
  9.         // 要删除的应用程序的ComponentName,即应用程序包名+activity的名字  
  10.         //intent2.setComponent(new ComponentName(this.getPackageName(), this.getPackageName() + ".MainActivity"));  
  11.         mainIntent.setClass(thisthis.getClass());  
  12.   
  13.         shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, mainIntent);  
  14.         //shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));  
  15.         shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, generatorContactCountIcon(((BitmapDrawable)(getResources().getDrawable(R.drawable.icon))).getBitmap()));  
  16.         sendBroadcast(shortcutIntent);  
  17.     }  



以前是根据id来找到图片 
Java代码   收藏代码
  1. shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));  


现在改为根据图片: 
Java代码   收藏代码
  1. shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, generatorContactCountIcon(((BitmapDrawable)(getResources().getDrawable(R.drawable.icon))).getBitmap()));  


这样既可 

但是 这样会不停的删除 创建快捷方式 更新太多 
网上貌似大家都是用widget来做的 这个有空可以看一下 


目录
相关文章
|
4月前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
47 0
|
4月前
|
Java Android开发
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
600 0
|
4月前
|
Android开发
Android 状态栏WiFi图标的显示逻辑
Android 状态栏WiFi图标的显示逻辑
114 0
|
1月前
|
Android开发
解决android apk安装后出现2个相同的应用图标
解决android apk安装后出现2个相同的应用图标
146 2
|
1月前
|
XML Android开发 数据格式
Android实战经验之Kotlin中快速实现动态更改应用图标和名称
本文介绍在Android中通过设置多个活动别名动态更改应用图标和名称的方法,涉及XML配置及Kotlin代码示例。
113 10
|
3月前
|
存储 Android开发
详细解读Android获取已安装应用信息(图标,名称,版本号,包)
详细解读Android获取已安装应用信息(图标,名称,版本号,包)
42 0
|
4月前
|
Java Android开发
Android桌面快捷方式图标生成与删除 使用Intent与launcher交互
Android桌面快捷方式图标生成与删除 使用Intent与launcher交互
82 1
|
Java Android开发
安卓系统定制:android的充电图标的制作和显示
http://blog.csdn.net/lushengchu_luis/article/details/20382775 最近RK3026的项目需要修改开机充电,才分析了Android原生态的充电过程。
1638 0
|
6天前
|
Android开发 开发者 Kotlin
探索安卓开发中的新特性
【9月更文挑战第14天】本文将引导你深入理解安卓开发领域的一些最新特性,并为你提供实用的代码示例。无论你是初学者还是经验丰富的开发者,这篇文章都会给你带来新的启示和灵感。让我们一起探索吧!
|
1天前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
18 10