有没有办法从Context获取应用程序。我注意到activity和service有getApplication()方法,但Context没有。
背景
我正在使用/扩展GCMBaseIntentService和
protected abstract void onMessage (Context context, Intent intent)
给我一个上下文作为参数。我想获取Application对象,以便我可以将其转发到MyApplication并检索一些变量
由于
答案 0 :(得分:23)
Context#getApplicationContext
将返回您的Application
个实例。
答案 1 :(得分:2)
val application : Application = context.applicationContext as Application
答案 2 :(得分:0)
对于那些在 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)
}
}