在我的應用程序中,我有本地服務,它需要在單獨的進程中運行。在AndroidManifest.xml中指定爲確定通過哪個進程調用Application.onCreate()
<service android:name=".MyService" android:process=":myservice"></service>
。我也應用程序對象的子類,並希望檢測它的onCreate方法時,它是通過普通啓動和通過myservice啓動時調用。我發現的唯一的工作液是由
https://stackoverflow.com/a/28907058/2289482
描述,但我不想讓設備上的所有正在運行的進程,並在它們之間迭代。我嘗試從Context中使用getApplicationInfo()。processName,但不幸的是它始終返回相同的String,而上面鏈接中的解決方案返回:myPackage,myPackage:myservice。我首先不需要processName,但是有一些很好的解決方案來確定何時通過普通啓動和何時通過myservice啓動來調用onCreate方法。也許可以通過在某處應用某種標籤或標籤來完成,但我沒有找到如何去做。
鏈接的機制是什麼大家都在用。這隻會發生一次,當你的應用程序啓動。爲什麼你不能使用這種機制? –
鏈接解決方案意味着我們遍歷設備上的所有正在運行的進程,以獲取有關當前進程的信息。普通應用程序不請求所有正在運行的進程 - 自定義ProcessManager或某個實用程序需要此功能。 – user2289482