私は一連のアプリを作成していますが、それらすべてのバックグラウンドサービスはほぼ同じです。
このService
のみを含むアプリを作成しようとしています。そのため、それらすべてで繰り返すことはありませんが、Activity
は必要ありません。これはUIが必要ないため、ユーザーはService
を停止しない限り閉じることができないためです。
Activity
を削除しようとしましたが、アプリが実行または起動しません。 私の質問は、アプリをGoogle Play Services
そのため、他のアプリはそのService
を使用できます。
はい、スニペットまたはサンプルよりも大歓迎です。
承知しました!サービスのみのアプリケーションを使用できない理由はありません。 ...そして、必要でない限り、AIDLに入る必要はありません。
問題は、アプリケーションを実行する方法です。アクティビティを使用してアプリケーションを作成する場合、マニフェストにIntentフィルターを追加し、ランチャーからアクティビティを開始できるようにします。アクティビティがない場合は、別の方法で開始する必要があります。
しかし、それは簡単です。次のように、他のプログラムの1つからインテントを起動します。
startService(new Intent("my.service.intent"));
...次のように、サービスがマニフェストを登録する場所:
<service Android:name=".SomeService" >
<intent-filter>
<action Android:name="my.service.intent"/>
</intent-filter>
そのインテントを使用してParcelableパラメーターをサービスに渡すことができ、サービスはインテントをブロードキャストして応答できます。
もちろん、アプリケーションとサービスの間に複雑なAPIが本当に必要な場合、startServiceとbroadcastIntentは少し不格好です。より豊かなものが必要な場合は、willAIDLとバウンドサービスを調べます。
インテントフィルターを追加するために編集
はい、あなたはAIDLを探していると思います。このスレッドをご覧ください?
https://groups.google.com/forum/#!topic/Android-developers/LuWPZjPZ0sk