簡體   English   中英

如何從上下文中獲取應用程序

[英]How to get Application from Context

有沒有辦法可以從 Context.Application 中獲取應用程序? 我注意到活動和服務有 getApplication() 方法,但 Context 沒有。

背景:

我正在使用/擴展 GCMBaseIntentService 和

protected abstract void  onMessage (Context context, Intent intent) 

給我一個上下文作為參數。 我想獲取 Application 對象,以便我可以將其向下轉換為 MyApplication 並檢索一些變量

謝謝

Context#getApplicationContext將返回您的Application實例。

val application : Application = context.applicationContext as 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)
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM