卸载Android应用程序时,主屏幕上的应用程序启动器图标不会被删除

我正在使用一个类似的codesnippet,如下所示在主屏幕上添加一个应用程序的快捷方式:

Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClassName(this, this.getClass().getName()); shortcutIntent.putExtra(EXTRA_KEY, "ApiDemos Provided This Shortcut"); // Then, set up the container intent (the response to the caller) Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcut_name)); Parcelable iconResource = Intent.ShortcutIconResource.fromContext( this, R.drawable.app_sample_code); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource); // Now, return the result to the launcher setResult(RESULT_OK, intent); 

创build快捷方式没有问题,但卸载应用程序时,快捷方式仍保留在主屏幕上。 当卸载其他应用程序,他们似乎也删除其相应的主屏幕快捷方式。 这是我试图实现与我的“创build代码快捷方式图标

在Stackoverflow上的任何Android专家是否知道在卸载应用程序时从主屏幕删除应用程序快捷方式需要什么?

我发现了一些相关的线程,但是他们没有为我提供解决scheme,但请随时赶上:

[0] https://developer.android.com/intl/de/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html

[1] 在Android中以编程方式从启动器中删除应用程序

[2] 如何从主屏幕上自动卸载应用程序的快捷方式?

Solutions Collecting From Web of "卸载Android应用程序时,主屏幕上的应用程序启动器图标不会被删除"

我想你可以尝试把这个动作放在第二个Intent中:“com.android.launcher.action.INSTALL_SHORTCUT”

这适用于我,启动器图标被安装在主屏幕上,当我卸载应用程序,图标被删除。 一直在挣扎一段时间。

 Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClassName(this, this.getClass().getName()); Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); Parcelable iconResource = Intent.ShortcutIconResource.fromContext( this, R.drawable.launcher_icon); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource); sendBroadcast(intent); 

希望这可以帮助。

我也有同样的问题。

最后,我发现在创build应用程序的快捷方式时,应用程序的意图必须包含Intent.ACTION_MAIN操作,否则在卸载应用程序时不会从主屏幕删除快捷方式(不是用于安装快捷方式的意图,其中有com.android.launcher.action.INSTALL_SHORTCUT操作)。

希望能帮助到你。