私は別のサービスからサービスをバインドできますか?例えば、現在私はactivity A
がservice B
で始まっています。今はservice B
をバインドして別のservice C
を開始したいだけです。それで誰もそれをする方法を知っていますか?つまり、同じ方法を使用してactivity A
サービスを開始して別のサービスを開始することはできますか?サービスが別のサービスをバインドできますか
10
A
答えて
21
サービスからbindService
に電話をかけることは、アクティビティから呼び出すこととまったく同じ方法で行うことができます。あなたはbindService
と呼ぶことができない唯一の場所がBroadcastReceiver
にあることにjavadocから気付くでしょう。 も同様にBinder
を受け取ることができます。
2
これは私のために働く。 bindService
からonCreate
に電話をした場合、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. 別のサービスからサービスにバインドできますか?
- 2. 別のアプリからのサービスへのバインド
- 3. java.lang.SecurityException:サービスにバインドできません
- 4. サービスからの角2アクセスコンポーネント変数(コンポーネントにバインドされている別のサービスにバインドされています)
- 5. Robolectricは別のスレッドからサービスをバインドしません
- 6. Windows AzureでWebサービスにWebサービスがバインドされていますか?
- 7. MediaBrowserServiceCompatサービスにバインドすることができません
- 8. 別のモジュールから別のサービスでのサービスのモック
- 9. 角度> = 2 - サービスが別のサービス
- 10. アクティビティまたは開始サービスと異なるプロセスでサービスにバインドしますか?
- 11. GWTでは、ファイルアップロードを別のRESTサービスにリダイレクトできますか?
- 12. アンドロイドアクティビティからサービスにバインド
- 13. 別のサービスにサービスを挿入する
- 14. 別のサービス(サービスファクトリ)を返すWCFサービス
- 15. 別のWebサービスをトリガーするWebサービス?
- 16. WCFサービスが別のWCFサービスを呼び出すのが遅い
- 17. サービスにバインドできるAndroid-Applicationコンポーネントは何ですか?
- 18. エラー:ShopServiceのプロバイダがありません!別のサービスでサービスを使用する
- 19. Osgi Blueprintでサービスを動的にバインドできません。
- 20. Webサービスが接続をバインドしていますか?
- 21. アクティビティへのSyncAdapterサービスのバインド
- 22. ブートストラップを通じてサービスにサービスを注入できますか?
- 23. Angular2別のサービスにサービスを注入
- 24. SOAアーキテクチャ内の別のサービスからサービスを呼び出すことはできますか?
- 25. Kubernetesの別のサービスに1つのサービスをリンクします
- 26. バインドされたサービスのアクティビティライフサイクル
- 27. AndroidサービスとMvvmCrossとのバインド
- 28. UPNP - デバイスとサービスのバインド(miniupnp)
- 29. Androidサービス:オンデマンドでバインドするかわりに#onCreate()にバインド
- 30. cantはサービスにバインドします
uは私がアンドロイドで相互サービス通信を始めることができますソートのチュートリアルに私を導くことができる...は –
に関しては、これは使用しても大丈夫練習ですか?元の 'Service'が' startForeground'と呼ばれる場合、2番目の 'Service'もバックグラウンドで実行されますか? – StuStirling