最も簡単な方法は、別の APK でサービスを提供することです。これには、ユーザーが APP のインストール プロセスを実行するという代償が伴います。
しかし、私の理解が正しければ、これを回避し、すべてのクライアント アプリで同じサービスのインスタンスを持ち、そのうちの 1 つが任意の時点で選択され、すべてのクライアントが AIDL を使用してこの選択されたサービスと通信する必要があります。 .
私は試していませんが、次のことを試すことができます 1) 別々のプロセスでサービスをホストしますが、それらは同じプロセスを共有します 2) すべてのクライアントに存在する SDK から、インテント Intent = new Intent("this .すべての人にとって同じであるべきです");
うまくいけば、各アプリのすべてのサービス コードがコールバックを受け取るはずです。1) 最新バージョン 2) 最初に利用可能なもの 3) 機能 .. などに基づいて、選択/選択ロジックを実装できます。
次の場合のオーバーヘッドも考慮する必要があります。1) 実行中のサービスをホストしているアプリがアンインストールされた場合 2) 更新があった場合 (a) 現在実行中のサービスを更新する (b) 実行中のサービスを更新する実行していませんが、更新後、選択の候補になります。
それが機能するかどうか教えてください。