0

Androidが提供するサービスフレームワークに関して2つの質問があります

  1. 私はAndroidのドキュメントから次のことを読みました

    クライアントは、Context.bindService()を使用して、サービスへの永続的な接続を取得することもできます。これは、サービスがまだ実行されていない場合(実行中にonCreate()を呼び出す)も同様に作成しますが、onStartCommand()は呼び出しません。クライアントは、サービスがonBind(Intent)メソッドから返すIBinderオブジェクトを受け取り、クライアントがサービスにコールバックできるようにします。接続が確立されている限り(クライアントがサービスのIBinderで参照を保持しているかどうかに関係なく)、サービスは実行され続けます。

    これは、サービスでOnStartCommandを手動で呼び出す必要があることを意味しますか?私の理解が正しければお願いします。

  2. onStartCommandに許可されているか、またはonStartCommandからの戻り値たとえば、次のようなものを返すことはできますか

    return START_FLAG_REDELIVERY | START_FLAG_RETRY
    

    とにかくこれが理にかなっているかどうかはわかりません。

4

1 に答える 1

1
  1. 最初に呼び出しstartServiceて、サービスが実行されていることを確認してから、サービスにバインドできます。

  2. onStartCommand の戻り値は、START_STICKY、START_NOT_STICKY、START_REDELIVER_INTENT、START_STICKY_COMPATIBILITY のいずれかになります。

ここでそれらについて読んでください: http://developer.android.com/reference/android/app/Service.html#START_NOT_STICKY

于 2012-06-14T13:37:49.653 に答える