アクティビティからサービスをバインドし、そのメソッドを呼び出す可能性を取得しようとしています。これらは異なるアプリケーション(apk)にありますが、同じsharedUserIdとプロセスを使用します。
彼らは同じプロセスを使用しているので、私はAIDLを使用する義務がありますか、それともローカルサービスのような古典的なIBinderを使用できますか(Android Developerサンプルで説明されています)?
私は両方を試しました。AIDLは正常に機能し、ローカルサービスのメソッドは機能しません。ClassCastExceptionがあります:
E/AndroidRuntime(17511): java.lang.ClassCastException: com.example.app.MyService$LocalBinder cannot be cast to com.example.app.MyService$LocalBinder
この方法を使用して、共通の「共有」プロセスで2つのアプリを使用してサービスを呼び出すことはできますか?または、この共有プロセスを使用するには、AIDLのようなIPCメソッドが必要ですか?
従来のIBinderを使用したい場合は、アプリケーションを可能な限りシンプルに保つためです。
あなたが私を助けてくれて、私の悪い英語をお詫びしてくれることを願っています;-)