我可以为android任务切换程序设置不同的图标吗?

我可以为android任务切换程序设置不同的图标吗?,android,icons,Android,Icons,我的应用程序有一个标志,我可以使黑色或白色。我指定的启动器图标是黑色的,我想保持这种颜色。但是,我的应用程序使用的是黑色主题,并且最近的应用程序堆栈中的应用程序标题栏的颜色也是黑色的。黑色标题栏上的黑色图标看起来很难看,尤其是在白色文本旁边。以下是一个屏幕截图,有助于解释: 是否可以为启动器和任务切换程序指定不同的图标 编辑:我看到Chrome做到了这一点:它将其任务切换图标更改为当前站点的favicon,因此,除非该API是私有的,否则我绝对知道这是可能的。是的,从API 21开始,我们可以选

我的应用程序有一个标志,我可以使黑色或白色。我指定的启动器图标是黑色的,我想保持这种颜色。但是,我的应用程序使用的是黑色主题,并且最近的应用程序堆栈中的应用程序标题栏的颜色也是黑色的。黑色标题栏上的黑色图标看起来很难看,尤其是在白色文本旁边。以下是一个屏幕截图,有助于解释:

是否可以为启动器和任务切换程序指定不同的图标


编辑:我看到Chrome做到了这一点:它将其任务切换图标更改为当前站点的favicon,因此,除非该API是私有的,否则我绝对知道这是可能的。

是的,从API 21开始,我们可以选择使用API在最近的应用程序屏幕中自定义我们的应用程序的表示

如果您只关心图标,则可以在
活动
中的任何位置使用下面的代码片段:

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          setTaskDescription(
              new ActivityManager.TaskDescription(
                  null, // Leave the default title.
                  R.drawable.the_icon_you_want,
                  null // Leave the default color                    
          )  
      }
但是,您必须记住,您的应用程序在“最近的应用程序”屏幕上的显示方式是由您最后设置的
任务描述
决定的

引自Big Nerd Ranch关于此事的精彩文章:

默认情况下,TaskDescription基于任务活动堆栈底部的活动。堆积的其他活动不会影响样式,除非这些活动在运行时显式设置了TaskDescription。明确设置了TaskDescription的最顶层活动将胜过清单中指定的样式或设置了TaskDescriptions的堆栈中下面的活动中指定的样式


因此,为了获得尽可能好的结果,您可能希望将该片段放在应用程序的
MainActivity
onCreate(…)
方法中。

这给了我
错误:不兼容的类型:int无法转换为位图,R.drawable。您想要的图标将无法按原样编译。构造函数的第三个参数是int(因此不能为null)。如果希望保留默认颜色,可以在此处使用双参数构造函数。