码迷,mamicode.com
首页 > 移动开发 > 详细

RecentApps图标异常分析

时间:2015-04-29 21:47:46      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:recent-app   android   framework   应用图标   

  • 问题描述
    打开图库,点击“发送 ”按钮,选择上传到苏宁云,分享后点击“最近应用 ”按钮,发现云盘图标异常。
    技术分享

  • 问题分析
    模块SystemUI
    源码位置:frameworks/base/packages/SystemUI/src/com/android/systemui/recent/

  • icon加载过程(RecentTaskLoader.java)
    技术分享

  • 从Task信息中获取图标

final ResolveInfo resolveInfo = pm.resolveActivity(recentInfo.baseIntent, 0); 

   private Drawable getFullResIcon(ResolveInfo info, PackageManager packageManager) {
        Resources resources;
        try {
            resources = packageManager.getResourcesForApplication(
                    info.activityInfo.applicationInfo);
        } catch (PackageManager.NameNotFoundException e) {
            resources = null;
        }
        if (resources != null) {
            int iconId = info.activityInfo.getIconResource();
            if (iconId != 0) {
                return getFullResIcon(resources, iconId);
            }
        }
        return getFullResDefaultActivityIcon();
    }
  • ActivityInfo
public final int getIconResource() {
        return icon != 0 ? icon : applicationInfo.icon;
    }

若activity设置了icon返回activity的icon,否则返回application icon。

  • 从系统资源中获取图标
  Drawable getFullResDefaultActivityIcon() {
        return getFullResIcon(Resources.getSystem(),
                com.android.internal.R.mipmap.sym_def_app_icon);
    }

android.R.mipmap
常量
int sym_def_app_icon
Default icon for applications that don’t specify an icon.
(小机器人来啦!)
技术分享

RecentApps图标异常分析

标签:recent-app   android   framework   应用图标   

原文地址:http://blog.csdn.net/wenping1980/article/details/45371145

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!