onStartCommand
私のサービスから、非常に長いダウンロード プロセスを開始するスレッドを生成します。問題は、ユーザーがマルチタスク画面からアプリを閉じると (ときどき閉じます)、ダウンロード スレッドの実行も停止することです。
停止してからしばらくすると、 でonCreate
START_NOT_STICKY を返すとサービスが再度呼び出されonStartCommand
、 で START_STICKY を返すと null インテントで再起動されますonStartCommand
。
マルチタスク画面でアプリを閉じても、ダウンロードスレッドに戻っSTART_CONTINUATION_MASK
ても停止しないと思いました。onStartCommand
しかし、このフラグを使用するための推奨事項が見つからないため、このフラグを信頼できるとは思いません。
サービスが startForeground で永久に実行されるようにする必要はありません。少なくともほとんどの場合 (OS が極端なメモリ状態にない限り)、アプリを閉じた後も実行し続ける必要があるだけです。
私は何をすべきか?