2015-02-10 18 views
11

Bağlamdan uygulama almamın bir yolu var mı? Bu etkinlik ve hizmetin getApplication() yöntemine sahip olduğunu fark ettim ancak Bağlam yok.Bağlamdan Uygulama Nasıl Alınır

Arka plan: kullanıyorum

/GCMBaseIntentService uzanan ve

protected abstract void onMessage (Context context, Intent intent) 

Bana bir parametre olarak bir bağlam sağlar. Ben MyApplication bunu downcast ve Application örneğini dönecektir bazı değişkenler

Teşekkür

+0

(YourApplicationClass) context.getApplicationContext() – Leonidos

cevap

21

Context#getApplicationContext alabilirsiniz yüzden Uygulama nesnesini almak istiyorum.

+0

Nasıl? Dokümanlar, "mevcut sürecin tek, global Uygulama nesnesinin ** bağlamını **" döndüreceğini söylüyor. Dönüş türü, 'Uygulama' değil' İçerik ’dir. 'Bağlam ',' Uygulamanın 'bir atası sınıfıdır, ancak' getApplicationContext() '' Uygulamasının örneğini döndüreceğini nereden biliyorsunuz? Haklı olabileceğinden şüpheleniyorum ama kabul eden yetkili bir kaynak görmek istiyorum. – LarsH

+2

Örneğin, getApplicationContext() 'in **, her zaman" Uygula "örneğinizle aynı nesneyi döndürmeyeceğini söyleyen https://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext örneğine bakın. – LarsH

İlgili konular