26
  1. 別のプロセスでIntentServiceを開始することは可能ですか?どのように?もしそうなら、それにバインドすることは必須ですか?
  2. 別のプロセスでIntentServiceを開始し、それをフォアグラウンドで実行することは可能ですか?
  3. android:isolatedProcessとの違いは何android:processですか?参照:http ://developer.android.com/guide/topics/manifest/service-element.html
4

1 に答える 1

37

1)IntentService別のプロセスで開始することは可能ですか?どのように?もしそうなら、それにバインドすることは必須ですか?

IntentServiceはい、別のプロセスで開始できます。android:process=":whatever"そのサービスのマニフェストエントリに追加するだけです。

いいえ、バインドする必要はありません。インテントを使用して送信することで通信できますstartService()

2)別のプロセスでIntentServiceを開始し、それをフォアグラウンドで実行することは可能ですか?

はい(上記を参照)。サービスをフォアグラウンドで実行するために、必要なstartForeground()ときにいつでも呼び出すことができます。サービス自体は、フォアグラウンドで実行するかバックグラウンドで実行するかを制御します。

android:isolatedProcess3)との違いは何android:processですか?参照:http ://developer.android.com/guide/topics/manifest/service-element.html

android:process(プロセスの名前を指定することにより)特定の各コンポーネントを実行するプロセスを制御できます。アプリケーションのコンポーネントをグループ化して、別々のプロセスで実行できます(たとえば、あるプロセスのすべてのUIコンポーネントと、別のプロセスのすべてのサービス)。デフォルトの動作では、アプリケーションのすべてのコンポーネントが同じプロセスで実行されます。

android:isolatedProcessは、特定のサービスコンポーネントを、アプリケーションの他の部分から分離された別のプロセスで実行する場合に設定できるフラグ(true / false)です。分離されたプロセスには、アプリケーションの残りの部分に付与されている権限はありません。通常、アクセス許可はアプリケーションに付与され、アプリケーションのすべてのコンポーネントには、アプリケーションが取得するすべてのアクセス許可があります。android:isolatedProcessAPIレベル16(Jellybean)以降でのみ使用できます。http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.htmlおよびJellyBean[Android]のサービス内にIsolatedprocessタグを導入する利点を参照してください。

于 2012-09-19T21:17:49.847 に答える