创建快捷方式:如何将可绘制对象用作图标?

2024-01-01

下面是我的代码,用于创建所选应用程序的快捷方式。我确实没有任何问题,并且该应用程序运行得很好。

问题是我可以使用应用程序中的资源创建快捷方式:

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

但我真的想要一个自定义的可绘制对象。 (可绘制 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());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建快捷方式:如何将可绘制对象用作图标? 的相关文章

随机推荐

  • strtolower 和 mb_strtolower 有什么区别?

    在 PHP 中 有什么区别strtolower and mb strtolower 如果我想将提交的电子邮件地址转换为小写 我应该使用哪一个 有没有这样的邮件 email protected cdn cgi l email protecti
  • 如何从Linux命令行使用curl发送数据?

    我正在尝试通过 wifi 连接从嵌入式 Linux 设备传输数据 我的设备上有curl 和wget 如何使用curl或wget将数据传输出设备 欢迎任何指点 如果您只想发送 键 值 对 那么 curl d key1 value1 d key
  • Perl:如果 IPC::Run 终止,则从进程中检索输出

    我一直在运行一些命令IPC Run https metacpan org pod IPC Run模块 一切都很好 除了我无法访问输出 STDOUT STDERR 生成的过程并被重定向到变量中 有没有办法在错误处理中检索这些内容 comman
  • 如何检查向量是否是 LIFO/FIFO 递减

    假设我有一个 data table 其中每行由两个向量组成 预减法 向量 减法后 向量 减法前是最左半列 减法后是最右列 末尾带有后缀 prm 例如 Sample Data set seed 2 fill data table n 1 7
  • jupyter 笔记本 ipywidgets 未显示(无错误)

    我最近设置了一个新的 Conda 环境并调出了以前的工作代码 但是 我发现Jupyter小部件似乎无法正常工作 我做了以下事情 conda install c conda forge ipywidgets jupyter nbextensi
  • 如何更改 NumericStepper 中的文本颜色

    我真的找不到一种方法来简单地更改 NumericStepper 的文本颜色 事件可能吗 请使用 setStyle 方法设置文本颜色 请阅读这篇文章 Link http livedocs adobe com flex 3 html help
  • 为什么异步函数优于同步函数?

    我是 NodeJS 新手 发现使用异步函数有点困难 我正在尝试找出这里的好处 以下是我对异步函数的理解 您能否验证我下面的每项理解 当要执行独立操作 来自主程序流 时 异步函数非常适合使用 当主程序非常需要来自异步函数的数据 响应或者当各个
  • SSIS - 动态创建三个日志文件

    da User Log path System PackageName SUBSTRING DT WSTR 29 GETDATE 1 10 LEN DT WSTR 2 DATEPART Hh GETDATE gt 1 DT WSTR 2 D
  • 更改 MenuBarExtra 图标的属性

    我正在尝试创建一个 MenuBarExtra 允许图标根据布尔值具有不同的颜色 就像是This https sarunw com posts swiftui menu bar app 但颜色发生变化 而不是图标内的数字 我在重新着色图标时遇
  • 关于 Immutable 类的防御性复制

    我有一个关于创建不可变类的疑问 以下是我考虑的几点 使班级最终 将所有成员设为最终成员 在静态块或构造函数中显式设置它们 将所有成员设为私有 没有修改状态的方法 要极其小心地限制对可变成员组件的访问 请记住 该字段可能是最终的 但对象仍然可
  • eclipse中的c ++调试模式导致程序不等待cin

    下面的代码在运行时工作正常 但是当使用 Eclipse 在调试模式下运行时会出现问题 它不会等待输入 而是继续运行 并将一些看似随机的值打印到控制台 它也不会在断点处停止 int main int N Q maxSize cout lt l
  • 将 Azure AD B2C 与 Azure 移动应用结合使用时,如何设置密码策略?

    在 Azure AD B2C 中 注册 登录 和 密码重置 有单独的策略 我复制 注册 登录 策略的元数据端点 并将其粘贴到 Azure 应用程序身份验证中 这基本上可以工作 但是没有地方可以放置包含密码重置模板的密码重置元数据 我认为因此
  • Spark 按不使用内存的数据集进行集群/存储桶

    我最近遇到了 Spark bucketby clusteredbyhere https jaceklaskowski gitbooks io mastering spark sql spark sql bucketing html 我尝试对
  • 如何每天验证一篇帖子?

    我正在尝试创建一个验证 以确保从 00 00 开始 24 小时每天发布一篇文章 请问如何在 Rails 中完成此操作 我执行了以下操作 但我不确定将其放在哪里today方法 更简单的替代方案非常受欢迎 def today where cre
  • 如何使用 python 的 kubernetes API 获取注释?

    我有一个 Docker 映像 其中包含一个 Python 应用程序 作为部署在 Kubernetes 中运行 我想向该应用程序传递一些数据 我使用了环境变量 但我想使用注释 但我不知道如何阅读它们 我看到了V1ObjectMeta有一个字段
  • Grails/Groovy 正则表达式 - 如何使用 (?i) 使所有内容不区分大小写?

    我使用以下正则表达式 url blank false matches https A Za z0 9 A Za z0 9 A Za z 2 40 1 9 0 9 0 4 S 我想添加 i 以使所有内容不区分大小写 我应该如何添加这个 我可以
  • 多个 windows::basic_handle 上的 WaitForMultipleObjects 和 boost::asio 有什么区别?

    我有一个 HANDLE 列表 由许多不同的 IO 设备控制 以下之间的 性能 差异是什么 对所有这些句柄上的 WaitForMultipleObjects 的调用 boost windows basic handle 上的 async re
  • Swift 简单异或加密

    我正在尝试在 Swift 中执行一个简单的异或加密例程 我知道这不是一个特别安全或很好的方法 但我只是需要它简单 我知道代码是如何在 Javascript 中实现的 只是在将其转换为 Swift 时遇到了麻烦 JavaScript func
  • Vagrant - 如何挂载 virtualbox 共享文件夹? (“vboxsf”不可用)

    我有以下错误 Vagrant 无法挂载 VirtualBox 共享文件夹 这通常是因为文件系统 vboxsf 不可用 这 文件系统可通过 VirtualBox Guest Additions 提供 内核模块 请验证这些来宾添加是否正确 安装
  • 创建快捷方式:如何将可绘制对象用作图标?

    下面是我的代码 用于创建所选应用程序的快捷方式 我确实没有任何问题 并且该应用程序运行得很好 问题是我可以使用应用程序中的资源创建快捷方式 intent putExtra Intent EXTRA SHORTCUT ICON RESOURC