gpt4 book ai didi

android - 创建快捷方式 : how can I work with a drawable as Icon?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:28 24 4
gpt4 key购买 nike

下面是我的代码,用于创建所选应用程序的快捷方式。我真的没问题,应用程序运行良好。

问题是我能够使用我的应用程序的资源创建快捷方式:

    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));

但我真的很想要自定义可绘制对象。 (Drawable myDrawable=.......)

我该怎么办?

   ResolveInfo launchable=adapter.getItem(position);
final Intent shortcutIntent = new Intent();
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,activity.name);
shortcutIntent.setComponent(name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
// Sets the custom shortcut's title
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, launchable.loadLabel(pm));
// Set the custom shortcut icon
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));

// add the shortcut
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
finish();

非常感谢任何线索

最佳答案

终于找到解决办法了;我愚蠢地使用 Intent.EXTRA_SHORTCUT_ICON_RESOURCE:

正确代码如下:

Drawable iconDrawable = (....); 
BitmapDrawable bd = (BitmapDrawable) iconDrawable;
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bd.getBitmap());

关于android - 创建快捷方式 : how can I work with a drawable as Icon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com