データを渡すときに Intent を使用できることは知っています。私の質問は、アクティビティから別のアプリケーションでサービスを呼び出したいということです。
これがシナリオの例です...
APP1:LoginActivity --> パラメータを APP2 に渡し、APP2:VerifyLogin を呼び出します --> 結果は APP1:LoginActivity に戻ります
これを行う方法はありますか?
1) 両方のアプリケーションを所有している場合は、APP1 自体から APP2 のサービスを呼び出す方がよいでしょう (つまり、APP2 ではなく APP1 でサービスを定義します)。
ただし、2 つの APP 間で通信する場合は、以下に示すように、それらを満たすために別の戦略を実装できます。
2)ブロードキャスト レシーバーを利用する:
ブロードキャスト レシーバを APP2 に登録し、APP1 から必要なパラメータを含むブロードキャスト メッセージを送信します。ブロードキャスト レシーバ メカニズムを使用して APP2 から APP1 に通信するために同じことを行います。
3) Android Interface Definition Language (AIDL)を利用する
Google Docは次のように述べています。
プロセス間通信 (IPC) を使用して相互に通信するために、クライアントとサービスの両方が同意するプログラミング インターフェイスを定義できます。
これにより、何らかの通信プロトコルを定義することで、2 つのアプリケーション間で通信できるようになると思います。
例: これは、実際にどのように機能するかを理解するのに役立つ素晴らしいチュートリアルです。
これにより、問題を解決するためのヒントが得られることを願っています。