- 別のプロセスでIntentServiceを開始することは可能ですか?どのように?もしそうなら、それにバインドすることは必須ですか?
- 別のプロセスでIntentServiceを開始し、それをフォアグラウンドで実行することは可能ですか?
android:isolatedProcess
との違いは何android:process
ですか?参照:http ://developer.android.com/guide/topics/manifest/service-element.html
1 に答える
1)
IntentService
別のプロセスで開始することは可能ですか?どのように?もしそうなら、それにバインドすることは必須ですか?
IntentService
はい、別のプロセスで開始できます。android:process=":whatever"
そのサービスのマニフェストエントリに追加するだけです。
いいえ、バインドする必要はありません。インテントを使用して送信することで通信できますstartService()
2)別のプロセスでIntentServiceを開始し、それをフォアグラウンドで実行することは可能ですか?
はい(上記を参照)。サービスをフォアグラウンドで実行するために、必要なstartForeground()
ときにいつでも呼び出すことができます。サービス自体は、フォアグラウンドで実行するかバックグラウンドで実行するかを制御します。
android:isolatedProcess
3)との違いは何android:process
ですか?参照:http ://developer.android.com/guide/topics/manifest/service-element.html
android:process
(プロセスの名前を指定することにより)特定の各コンポーネントを実行するプロセスを制御できます。アプリケーションのコンポーネントをグループ化して、別々のプロセスで実行できます(たとえば、あるプロセスのすべてのUIコンポーネントと、別のプロセスのすべてのサービス)。デフォルトの動作では、アプリケーションのすべてのコンポーネントが同じプロセスで実行されます。
android:isolatedProcess
は、特定のサービスコンポーネントを、アプリケーションの他の部分から分離された別のプロセスで実行する場合に設定できるフラグ(true / false)です。分離されたプロセスには、アプリケーションの残りの部分に付与されている権限はありません。通常、アクセス許可はアプリケーションに付与され、アプリケーションのすべてのコンポーネントには、アプリケーションが取得するすべてのアクセス許可があります。android:isolatedProcess
APIレベル16(Jellybean)以降でのみ使用できます。http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.htmlおよびJellyBean[Android]のサービス内にIsolatedprocessタグを導入する利点を参照してください。