2017-07-26 8 views
1

私のアプリはMyNiceAppと呼ばれています。 MyNiceAppはほとんどの場合、のCOREビューをロードするコアです。このビューには、ユーザーが望むようにダウンロードする他のプラグインによって読み込まれます。私は、MyNiceAppのインターフェースを介してプラグインによって取り込めるコアビュー上のさまざまな領域を定義します。アプリケーションの起動時に、これらのインターフェイスを実装するアプリケーションをAIDL経由で読み込むにはどうすればよいですか?アプリの起動時にAIDLサービスを呼び出す方法

ありがとうございます。

UPDATE

この機能は十分で達成するのを助けることができ、任意の他のアプローチ。それはAIDLを介してのみ実装可能である必要はありません。

答えて

2

プラグインのエクスポートされたサービスを識別する明示的なIntentを使用して、bindService()を呼び出します。

プラグインが存在するかどうかを確認するには、PackageManagerqueryIntentServices()を使用して、アプリに関連付けられたサービスがあるすべてのアプリを見つけてください(<intent-filter>)。一致を実装しているアプリが署名チェックによって、自分が誰であるかを確認します。次に、queryIntentServices()ResolveInfoを使用して、明示的にバインディングのためのIntentを構築することができます。

This pair of sample appsは、基本的なプロセスを示しています。私の場合は、正確に1つの試合を期待していますが、おそらくN試合を期待しています。

関連する問題