Android 为什么不';t应用程序快捷方式';安装新版本时是否更新图标? 背景
我有一个app manager app(),除了其他功能外,它还可以创建到启动器上其他应用的快捷方式 问题 在安装新版本的应用程序时,我的应用程序创建的快捷方式似乎不会更新图标 我在多台设备和多个发射器上都注意到了这一点。 不仅如此,甚至play store创建的图标也不会得到更新 不仅如此,在某些启动器上,当尝试创建快捷方式时,如果已经有快捷方式,则无法创建新的快捷方式 我试过的 我不仅用普通的应用程序进行了测试,还通过ADB和正常打开APK文件(同时确保版本增加)在我自己签名的APK上进行了测试 有3种方法可以创建快捷方式,但都无法更新:Android 为什么不';t应用程序快捷方式';安装新版本时是否更新图标? 背景,android,icons,updates,shortcut,android-launcher,Android,Icons,Updates,Shortcut,Android Launcher,我有一个app manager app(),除了其他功能外,它还可以创建到启动器上其他应用的快捷方式 问题 在安装新版本的应用程序时,我的应用程序创建的快捷方式似乎不会更新图标 我在多台设备和多个发射器上都注意到了这一点。 不仅如此,甚至play store创建的图标也不会得到更新 不仅如此,在某些启动器上,当尝试创建快捷方式时,如果已经有快捷方式,则无法创建新的快捷方式 我试过的 我不仅用普通的应用程序进行了测试,还通过ADB和正常打开APK文件(同时确保版本增加)在我自己签名的APK上进行了
Intent shortcutIntent;
shortcutIntent=new Intent();
// shortcutIntent.putExtra("duplicate",false); //optional
shortcutIntent.setClassName(packageName,fullPathToActivity);
shortcutIntent.setAction(Intent.ACTION_MAIN);
final Intent putShortCutIntent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortcutIntent);
putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,title);
Resources resources=pm.getResourcesForApplication(packageName);
final Intent launchIntentForPackage=pm.getLaunchIntentForPackage(packageName);
if(TextUtils.equals(launchIntentForPackage.getComponent().getClassName(),fullPathToActivity))
iconRes=applicationInfo.icon;
else
iconRes=pm.getActivityInfo(new ComponentName(packageName,fullPathToActivity),0).icon;
if(iconRes==0)
iconRes=applicationInfo.icon;
String iconResourceName=resources.getResourceName(iconRes);
putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconRes);
...
Bitmap appIcon=...
putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON,appIcon);
...
ShortcutIconResource shortcutIconResource=new Intent.ShortcutIconResource();
shortcutIconResource.packageName=packageName;
shortcutIconResource.resourceName=iconResourceName;
putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,shortcutIconResource);