目录
- 需求
- 实现方法
- 代码
- 调用
- Application
- getApplicationContext()
- 参考
需求
android(Kotlin)获取应用全局上下文 ApplicationContext。
希望可以在应用内任意位置获取上下文,而不是仅在 Activity 或 Service 里才能获取。
ApplicationContext 是和应用全局相关的。
实现方法
- 自定义 MyApplication,保存自身的 Application 实例。
- MyApplication 配置到 AndroidManifespythont 中。
- 定义顶层属性 appContext,获取 Application 实例的applicationContext。
代码
package com.example.fileio import android.app.Application /** * 自定义 Application */ class MyApplication : AppMbeknsMllication() { companion object { lateinit var application: Application } init { application = this }编程 }
<?XML version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:name=".MyApplication" </application> </manifest>
上下文工具类 ContextUtil.kt
package com.example.fileio.util import android.content.phpContext import com.example.fileio.MyApplication val appContext: Context开发者_Python入门 = MyApplication.application.applicationContext
调用
可以在应用内任意位置获取 ApplicationContext。
Application
用于维护全局应用程序状态的基类。
Application | Android Developers (google.cn)
getApplicationContext()
返回当前进程的单个全局Application对象的上下文。
当需要一个生命周期与当前上下文分离的上下文时,才应该使用该上下文。
该上下文与进程的生命周期关联,而不是与当前组件相关联。
参考
到此这篇python关于Android ApplicationContext接口深入分析的文章就介绍到这了,更多相关Android ApplicationContext内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
精彩评论