我正在创建一个用于创建图标的应用程序,例如Ume Icon Changer,现在我正在使用此代码创建一个图标
public static void createShortCut3(Context context, Drawable drawable, String shortcutname, String packagename){
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packagename);
BitmapDrawable bd = (BitmapDrawable) drawable;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
ShortcutManager shortcutManager =
context.getSystemService(ShortcutManager.class);
if (shortcutManager.isRequestPinShortcutSupported()) {
ShortcutInfo pinShortcutInfo =
new ShortcutInfo.Builder(context, "app-shortcut")
.setIntent(intent)
.setShortLabel(shortcutname)
.setIcon(Icon.createWithAdaptiveBitmap(bd.getBitmap()))
.build();
Intent pinnedShortcutCallbackIntent =
null;
pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(pinShortcutInfo);
PendingIntent successCallback = PendingIntent.getBroadcast(context, 0,
pinnedShortcutCallbackIntent, PendingIntent.FLAG_UPDATE_CURRENT);
shortcutManager.requestPinShortcut(pinShortcutInfo,
successCallback.getIntentSender());
}
}
}
但是我所有的图标都是用这个徽章创建的。
据我了解,您不能只删除它。但在 ume 图标转换器和其他应用程序中,这是通过小部件以某种方式完成的。
如何实现类似的功能?