Apakah ada cara yang dapat diandalkan untuk mendapatkan Context
dariService
?
Saya ingin mendaftarkan penerima siaran, ACTION_PHONE_STATE_CHANGED
tetapi saya tidak memerlukan aplikasi saya untuk selalu mendapatkan informasi ini, jadi saya tidak memasukkannya ke dalamManifest
.
Namun, saya tidak dapat meminta penerima siaran dibunuh oleh GC ketika saya membutuhkan informasi ini, jadi saya mendaftarkan penerima siaran di a Service
.
Karena itu, saya perlu Context
menelepon registerReceiver()
. Ketika saya tidak lagi membutuhkan ACTION_PHONE_STATE_CHANGED
saya membatalkan registrasi .
Ada tips?
android
broadcastreceiver
android-service
pengguna123321
sumber
sumber
Service
meluasContextWrapper
yang meluasContext
. Karena ituService
adalah aContext
. Gunakan'this'
kata kunci dalam layanan.sumber
Service
meluasContextWrapper
ContextWrapper
meluasContext
Begitu....
(dalam Kelas Layanan atau Kegiatan)
sumber
Karena
Service
aContext
, konteks variabel harusthis
:sumber
Karena Layanan sudah menjadi Konteks itu sendiri
Anda bahkan bisa mendapatkannya melalui:
ATAU
sumber
untuk berjaga-jaga seandainya seseorang mendapatkan
NullPointerException
, Anda perlu memahami konteksnyaonCreate().
Service
adalahContext
, jadi lakukan ini:sumber