私はIntentService
を持っていて、startCommand
がまだ実行されていない場合にのみ呼び出されます。IntentServiceを実行しても一度だけ
これは、このサービスがデータベース内の既存の行をすべて処理しているためです。それは何回か起動するように呼び出すことができますが、すでに実行中の場合は再起動しないようにしてください。処理する行がない場合はIntentService
に似ていますが、それ自体を閉じる必要があります。
これは達成可能ですか?たぶんPendingIntent
とFLAG_NO_CREATE
で?
IntentService
の代わりにService
と別のスレッドでこれを作成できますが、IntentService
には既にスレッドが実装されています。
ありがとうございます!ああ、いいよ!トリックは基本クラス 'IntentService'の実装を選択的に呼び出すことです... –
' PendingIntent'は必要ないので、 'startService(intent)'を呼び出すだけでいいですか? –
@DonBox:自分でサービスを開始する場合は、 'startService()'を呼び出します。サービスを開始するために何か他のものが必要なときは 'PendingIntent'を使います(例えば' AlarmManager'、 'Notification')。 – CommonsWare