2010-11-07 23 views
67
adresine gönderin

Temelde bir niyet yapmak ve BroadcastReceiver'ın onReceive() öğesinden bir hizmete aktarmak istiyorum.Android - Broadcast alıcısı onReceive() içinden içerik almak

Şimdiye kadar her zaman View.getContext() kullandım, ama burada sıkışıp kaldım. Bağlamı tam olarak nasıl alabilirim, böylece public Intent (Context packageContext, Class<?> cls) kullanabilir miyim?

cevap

235

public abstract void onReceive (Context context, Intent intent)

OnReceive size bağlam sağlar. Daha fazla İstediğiniz ne?

+59

... vay çok Falmarri .. orada sayesinde ne kaçırdım nasıl. – madu

+37

klasik facepalm durumu: D – egore911

+12

Bu yayınlandıktan sonra 5 yıl olabilir, ama yine de kesinlikle alakalı !!! Aynı hatayı ben yaptım! Çok teşekkürler –

1

Yukarıda belirtilen Cevap herhangi bir kullanım değildir. İçeriği onReceive'de olduğunuz sürece kullanabilirsiniz. Kod, onReceive'den döndüğünde, içerik artık mevcut değil.

Bu nedenle sorun bildiriminiz, bu bağlamı kullanarak niyetinizi oluşturmaya başlamak istediğinizi ve daha sonra bu bağlam nesnesiyle startService'i çağırmak istediğinizi söylüyor. Bu yapılamaz.

BroadcastReceiver bağlamında nelerin yapılıp yapılamayacağını okuyun.

http://developer.android.com/reference/android/content/BroadcastReceiver.html

+0

söylediğin doğru değil. BroadcastReceivers'den bir hizmet başlatabilirsin, ama onlara bağlanamazsın. –

İlgili konular