在Firebase Datachange侦听器上启动服务?

时间:2018-11-15 08:02:22

标签: android firebase firebase-realtime-database service kotlin

我一直在研究需要在Firebase Datachange侦听器上触发已定义服务的应用程序。 我尝试使用IntentService,但没有实现。 我想在Firebase数据库中发生更改时启动后台服务。 希望你能帮助我。

清单:

 <service 
    android:name=".modules.call.notifications.CallNotificationService"
        android:exported="false">
</service>

服务:

class CallNotificationService : IntentService(CallNotificationService::class.simpleName){

    private var pActivity = MainBaseActivity()
    override fun onHandleIntent(intent: Intent?) {
        VFirebaseQueryManager.getUserReference(pActivity?.profile?.user_id?.toLong()!!)?.addValueEventListener(object : ValueEventListener{
            override fun onCancelled(p0: DatabaseError) {
                print("a")
            }

            override fun onDataChange(dataSnapshot: DataSnapshot) {
                val notifications = dataSnapshot.getValue(Profile::class.java)
                if(notifications!=null){
                    if(notifications?.action?.equals("inCall")!!){
                        intent?.putExtra(ApplicationConstants.INCOMING_CALL_DATA,notifications)
                        intent?.setClass(this@CallNotificationService, CallActivity::class.java)
                        applicationContext.startActivity(intent)
                    }
                }
            }
        })
    }
}

0 个答案:

没有答案