Android Application クラスのサブクラスを含むライブラリがあります。サブクラスには、サービスを起動するメソッドが含まれています (これもライブラリ プロジェクトに含まれています)。
ホスト アプリケーションにライブラリを含めると、Activity Manager は、サービス インテントを開始できない (見つからない) と文句を言います。
コード構造は次のとおりです。
ライブラリのマニフェスト:
<service name="com.my.project.MyService" />
ライブラリ内のアプリケーション サブクラス:
Intent intent = new Intent(this, MyService.class);
startService(intent);
この問題は、ホスト アプリケーション マニフェストでサービスを再度定義することで解決できます。ただし、ライブラリを使用する開発者にこの要件を課すことは避けたいと思います。
私の質問は、ホスト マニフェストでライブラリ サービスを参照する必要を回避できますか?