如何刷新Launcher界面

公司任务:   

通过广播,动态更改图标样式。

1.在LauncherAppState.java文件下动态注册广播:

filter=new IntentFilter("com.example.zhou");
sContext.registerReceiver(mModel,filter);
2.在LauncherModel.java文件下onReceive()方法下添加对广播事件的处理:

其中forceReload()为强制刷新桌面。

String aaaa=intent.getAction();
if ("com.example.zhou".equals(aaaa)){
    forceReload();
}
3.在LauncherModel.java文件下的getShortcutinfo()方法内添加筛选需要改变图标的应用程序:

PackageInfo pi = null;

try {
    pi = manager.getPackageInfo(
            componentName.getPackageName(), 0);
    if (pi.packageName.equals("com.example.zhouyuchen.test")) {
        info.setIcon(BitmapFactory.decodeResource(_context.getResources(), R.mipmap.kc));
    } else {
        info.setIcon(icon);
    }
} catch (NameNotFoundException e) {
    e.printStackTrace();
}
其中info.setIcon(icon)为原始图标式样。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值