我只想知道我可以綁定另一個服務的服務。例如,目前我有一個activity A
開始service B
,現在我只想service B
綁定並啓動另一個service C
。那麼有人知道如何做到這一點?這意味着我可以使用相同的方法activity A
啓動服務上的服務以啓動另一項服務?一個服務可以綁定另一個服務
10
A
回答
21
您可以從服務中調用bindService
,方法與您可以從活動中調用它的方式完全相同。你會從javadoc注意到唯一你不能撥打bindService
的地方是BroadcastReceiver
。您也可以使用ServiceConnection
以獲得Binder
。
2
這適用於我。如果我從onCreate
撥打bindService
,那麼onServiceConnected
正在與第一個電話onHandleIntent
競爭,因此如果過早到達,請重新提交意圖。我的代碼大致是這樣的。
class MyService extends IntentService implements ServiceConnection {
IMyOtherService iService;
@Override
void onCreate() {
bindService(intent);
}
@Override
void onServiceConnected(ComponentName name, IBinder service) {
iService = IMyService.Stub.asInterface(service);
}
@Override
void onHandleIntent(Intent intent) {
if (iService == null) {
/* onHandleIntent has lost the race with onServiceConnected
* so wait 250 ms and resend the Intent.
*/
try { System.getCurrentThread().sleep(250); } catch (InterruptedException e) { }
startService(intent);
}
iService->method1();
}
+1
您可以改爲使用服務。 – Ishaan
相關問題
- 1. Windows服務可以安裝另一個Windows服務嗎?
- 2. 是否可以將數據從一個服務發送到另一個服務?
- 3. Web服務可以在同一個應用程序服務器中調用另一個Web服務嗎?
- 4. 在另一個服務角度注入一個服務js
- 5. Angular2:如何注入一個服務到另一個服務
- 6. 從Android的另一個服務調用一個服務
- 7. ServiceConstructionException當一個Web服務連接到另一個Web服務
- 8. Android從另一個意向服務開始一個新的Intent服務以及當一個服務完成時如何提供服務可以接受嗎?
- 9. CountDownTimer不綁定到一個服務
- 10. WCF服務返回另一個服務(服務工廠?)
- 11. 正在以角度調用服務到另一個服務中
- 12. 是否可以將域綁定到另一個域而不是服務器ip?
- 13. gRPC服務器可以基於另一個HTTP/2 web服務器,如jetty嗎?
- 14. 服務可以在其代碼中調用另一個服務嗎?
- 15. 洋蔥建築 - 可以模型服務引用另一個模型服務?
- 16. Symfony2 - LswMemcacheBundle - 我可以在另一個服務中使用memecache.default服務嗎?
- 17. 是否可以在另一個服務中注入服務,反之亦然?
- 18. 在SOA架構中從另一個服務調用服務可以嗎?
- 19. 是否可以從另一臺服務器「中繼」WCF服務?
- 20. ASP.NET MVC - 一個業務服務需要調用另一個服務
- 21. WCF一個服務或多個服務
- 22. 一個服務或多個服務
- 23. 我可以將一個http請求從一個node.js或python服務器轉發到另一臺服務器嗎?
- 24. 如何綁定服務,如果它在另一個進程?
- 25. Robolectric不會綁定另一個線程的服務
- 26. 綁定到另一個應用的服務
- 27. Android - 從另一個服務以固定時間間隔調用系統服務
- 28. javafx後臺任務:在另一個服務中調用服務
- 29. android:如何將一個子類綁定到一個服務
- 30. 是否可以將一個解決方案綁定到多個TFS服務器?
你能指導我一個教程,可以幫助我開始在Android的互聯網服務通信開始...問候 –
這是一個好習慣嗎?如果最初的'Service'叫做'startForeground',第二個'Service'也會在後臺運行? – StuStirling