システムアプリにサービスがあります。システム権限のないクライアントアプリで、サービスの関数を呼び出して、システム権限が必要なことを実行できるようにしたいと思います。サービスは独自のアプリ内にあるため、AIDLを使用して、サービスとクライアントアプリ間のIPCのインターフェイスを定義しています。
クライアントアプリを作成している人々が、システム権限を必要とする独自のコードを記述し、サービスに含めるコードを提供できるようにしたいと思います。したがって、私のサービスは、リクエストをどこに渡すかを示す一般的なリクエストと、リクエスト自体を受け取ります。
クライアントが自分のコードにどのデータを出し入れする必要があるかわからないので、汎用インターフェイスを使用して、クライアントが必要とする可能性のあるあらゆるタイプのデータを処理したいと思います。すべてのデータ型のAIDLインターフェイスに関数を追加する必要がありますか?
void doStuff(in String inStr, out String outStr);
void doStuff(in int inInt, out int outInt);
等...
自分で区画化可能なオブジェクトを作成したほうがいいでしょうか?AIDLでこれを処理するための最良の方法は何ですか?