ユーザー入力を取得し、その情報をサービスを開始 (作成) する意図に追加するアクティビティがあります。
次に、他のアプリがそのサービスを使用できるようにします (それにバインドします)。
ただし、前述のように、正しく開始するにはユーザー入力が必要なため、これらのアプリでサービスを開始できるようにしたくありません。そのため、アプリがサービスを使用したい場合、実行中の場合にのみバインドできます。そうでない場合、アプリは、ユーザー入力を取得した後にサービスを開始するアクティビティのみを開始できます。
私が理解しているように、マニフェストで android:exported を true に設定すると、他のアプリのバインディングとサービスの開始の両方が可能になります。
必要なことを行う方法はありますか?
別の注意: サービスの onCreate が意図を取得しない理由はありますか? サービスが最初に作成されたときにのみ必要になるため、onCreateで余分なものを取得したいと思います。私は現在、これを onStartCommand で取得し、onStartCommand が 2 回目に呼び出された場合にすぐに戻ることでこれを回避していますが、それは不要な手順のようです。