如何从上下文中获取应用程序
How to get Application from Context
有什么方法可以让我从 Context 获取应用程序。我注意到 activity 和服务有 getApplication() 方法,但 Context 没有。
背景:
我是 using/extending GCMBaseIntentService 和
protected abstract void onMessage (Context context, Intent intent)
给我一个上下文作为参数。我想获取 Application 对象,以便将其向下转换为 MyApplication 并检索一些变量
谢谢
Context#getApplicationContext
将 return 您的 Application
实例。
对于那些在 kotlin 中寻找答案的人:
@BindingAdapter("app:setSelectArea")
@JvmStatic
fun setSelectArea(view: ImageView, mContext: ContextX){
view.setOnClickListener {
val application = view.context.applicationContext as Application
val viewModel:KnowledgeViewModel by lazy { KnowledgeViewModel(application) }
val mKnowledge = Knowledge(
"",
"abcdefg test",
""
)
viewModel.firebaseInsertKnowledge(mKnowledge)
}
}
val application : Application = context.applicationContext as Application
有什么方法可以让我从 Context 获取应用程序。我注意到 activity 和服务有 getApplication() 方法,但 Context 没有。
背景:
我是 using/extending GCMBaseIntentService 和
protected abstract void onMessage (Context context, Intent intent)
给我一个上下文作为参数。我想获取 Application 对象,以便将其向下转换为 MyApplication 并检索一些变量
谢谢
Context#getApplicationContext
将 return 您的 Application
实例。
对于那些在 kotlin 中寻找答案的人:
@BindingAdapter("app:setSelectArea")
@JvmStatic
fun setSelectArea(view: ImageView, mContext: ContextX){
view.setOnClickListener {
val application = view.context.applicationContext as Application
val viewModel:KnowledgeViewModel by lazy { KnowledgeViewModel(application) }
val mKnowledge = Knowledge(
"",
"abcdefg test",
""
)
viewModel.firebaseInsertKnowledge(mKnowledge)
}
}
val application : Application = context.applicationContext as Application