当前位置: 首页 > article >正文

activity-alias常见应用

详解:即activity的别名,可以重新定义当前某个activity的一些信息
常见应用场景:
动态更换图标

    <applicationandroid:name=".MyApplication"android:theme="@style/Theme.MyApplication"><activity-aliasandroid:name=".test"android:enabled="false"android:icon="@drawable/dynamic01"android:targetActivity=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity-alias><activityandroid:name=".MainActivity"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>

更换图标代码:

class ChangeIconUtils {companion object {fun enableComponent(s:ComponentName) {MyApplication.context?.let {var state = it.packageManager.getComponentEnabledSetting(s)if(state == COMPONENT_ENABLED_STATE_ENABLED){return}it.packageManager.setComponentEnabledSetting(s,COMPONENT_ENABLED_STATE_ENABLED,PackageManager.SYNCHRONOUS)}}fun disableComponent(s:ComponentName) {MyApplication.context?.let {var state = it.packageManager.getComponentEnabledSetting(s)if(state == COMPONENT_ENABLED_STATE_DISABLED){return}it.packageManager.setComponentEnabledSetting(s,COMPONENT_ENABLED_STATE_DISABLED,PackageManager.SYNCHRONOUS)}}}
}

基本步骤:app退出时更换图标,是否更换图标是一开始进入的时候获取的系统配置
常见问题:
1.运行时卸载不够干净,报错

Error type 3
Error: Activity class does not exist.

所以使用adb uninstall 包名卸载
2.application获取context不能直接获取,因为定义的静态变量不能访问非静态对象,所以需要在oncreate里面在获取
3.ComponentName(this, “com.example.myapplication.test”)也只能定义在当前实例创建之后,所以通常写在oncreate里面
4.exported如果设置成false,代表不能被其他应用打开,所以点击会提示该应用未安装,所以不要设置,默认为true

动态替换activity:同上,通常用于像WXPayEntryActivity需要在特定包名下的类,可以把别名的名称改成对应包名

http://www.lryc.cn/news/2414031.html

相关文章:

  • caffe2 教程入门(python版)
  • 吐血分享9个软件下载网站以及那些开发者大佬的传奇人生
  • 各大日语学习网站整理
  • Android——动态设置view背景颜色setBackgroundColor
  • 爬虫案例之 xxx 视频网站
  • Google Translate API
  • 【ybt金牌导航8-5-4】【luogu P4128】有色图(dfs)(Polya定理)(分类讨论)
  • 【课程设计/毕业设计】java商城管理系统源码+开发文档(springboot + vue)
  • 特色租房管理系统/租房管理系统/房屋租赁管理系统
  • 【Vbox--ubuntu18.04,安装增强功能时没有VBoxGuestAdditions】
  • ostream头文件
  • (转)Javascript:history.go()和history.back()的用法与区别
  • Apk逆向_笔记
  • ViewFlipper的使用
  • 我的问题集
  • JPEG的编码步骤
  • 找不到wpcap.dll解决方法
  • 【自然语言处理】统计中文分词技术(一):1、分词与频度统计
  • 利用连按 5 下 Shift 漏洞破解 win7 开机密码(原理以及实现)
  • 【运维】Windows下MRTG入门教程
  • PHP学习记录:PHP快速入门,一篇即可!
  • 超好用的清理软件Wise Disk Cleaner X
  • ClearCase 入门指南-管理员学习路径
  • 智慧方勃探秘江西:走进赣鄱大地的历史与传承
  • Javascript----文件操作
  • 面向对象设计的七大原则
  • Mandelbrot集的最新变化形态一览——MandelBox,Mandelbulb,Burning Ship,NebulaBrot
  • 国内十大免费网络相册
  • WordPress爱导航主题源码
  • Linux系统下如何隐藏自己的进程?