Android library初始化及获取Context

Android library初始化及获取Context

开发中遇到的问题

开发library项目时, 经常需要获取Context对象, 并且需要在Application中初始化, 流程比较繁琐, 能否在lib中不依赖外部传入,主动获取到Context对象呢;

解决办法

在lib中声明一个provider, 而在provider的onCreate方法中就可以获取Context对象, 可以保存起来, 在lib项目中使用;
同时provider的初始化, 是在Application初始化之后, Application的onCreate方法调用之前, 此时也可以用于去初始化lib库;

另一个方法就是通过反射调用ActivityThread, 获取 mInitialApplication 变量, 因为系统版本变化, 有风险, 需要自己做兼容;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,079评论 25 709
  • Android插件化基础的主要内容包括 Android插件化基础1-----加载SD上APKAndroid插件化基...
    隔壁老李头阅读 10,081评论 2 35
  • 《2016*7*13》 总在离开后才知道自己有多不舍。 一整天的心不在焉, 脑袋反复着这你的名字, 心一直想着你离...
    海仙子阅读 1,579评论 0 0
  • 回忆青春,如果要说有什么可以用到遗憾和后悔这个词的话,我想可能是没有足够珍惜当下的时光。 大多数时光,无论是酸甜还...
    涵宇尘阅读 2,833评论 0 0