0

私の Android アプリケーションでは、さまざまなアクティビティからサービスのさまざまなインスタンスを起動します。たとえば、アクティビティ AI からサービスを起動したい場合や、アクティビティ BI から同じサービスの別のインスタンスを起動したい場合などです。

さまざまなアクティビティから、次のコード行を使用しています。

活動A

svc = new Intent(AActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);
        `

アクティビティ B

svc = new Intent(BActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);

問題は、サービスが 1 つしか作成されないことです。解決策はありますか?前もって感謝します

4

2 に答える 2

0

私もこれを検討していましたが、たくさん掘り下げた結果、同じ結論に達しました。同じサービスの複数のインスタンスを実行することはできません。

これは、Android開発フォーラムからの引用です。

サービスはシングルトンです。bindService()でstopService()を使用しないでください。サービスは、1つ以上のクライアントが存在する限り、または明示的に開始状態にある限り、インスタンス化されたままになります。

ダイアンハックボーン、Androidフレームワークエンジニア

悪い知らせでごめんなさい。

乾杯

于 2011-11-09T16:44:46.680 に答える
0

たとえば、アクティビティ AI からサービスを起動したい場合や、アクティビティ BI から同じサービスの別のインスタンスを起動したい場合などです。

これはできません。申し訳ありません。

于 2011-10-30T22:07:39.490 に答える