我有兩個獨立的應用程序使用共同的後臺服務(這是在一個共同的庫中,這兩個應用程序都包含)來收集藍牙數據。在首次安裝應用程序時一切正常。由於兩個應用程序共享庫中的Android服務不被更新
問題是,當其中一個應用程序在通用服務發生變化後重新部署時,它仍然使用先前安裝的服務。
以下是一些信息和示例以澄清事情: 這2個應用程序被命名爲BioSound和BioZen。它們中的每一個都包含一個名爲AndroidSpineServerLib的公共庫,其中包含公共庫AndroidBTService(其中包含後臺服務)
例如,首次安裝時,AndroidBTService的版本號爲1.0。當應用程序部署一切都很好時,BioZen和BioSound都使用V1.0服務。
然後我改變了BioSound和AndroidBTService,將它的版本增加到了V1.1。當我在此之後部署BioSound時,我預計它會使用新更改的服務V1.1,但它仍會繼續使用V1.0服務。解決這個問題的唯一方法是刪除BioZen,然後BioSound提供正確的服務(我甚至不需要重新安裝BioSound)。
以編程方式,當我啓動每個應用程序時,我綁定到該服務,並且當每個應用程序退出時,我解除綁定該服務。
顯然我錯過了一些東西,但無法弄清楚。有任何想法嗎?