タイトルの通り、以下の悩みを抱えています。フォアグラウンド サービスを開始したアクティビティが最近のタスク リストから削除されると、フォアグラウンド サービスが強制終了されます。でサービスを開始しています
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
startForeground(notificationID, notification);
return START_STICKY;
}
なぜこれが起こっているのか、ユーザーがアクティビティをスワイプしてもサービスが実行され続けるようにするにはどうすればよいか教えてください。
何らかの理由で public void onTaskRemoved (Intent rootIntent) にアクセスできませんが、とにかくそのメソッドで何をすべきかわかりません...
私はこのようにサービスを開始していますが、バインドされたサービスではありません
serviceIntent = new Intent(this, RecordingService.class);
startService(serviceIntent);
ユースケースの説明がほとんど役に立たない場合、通知バーのリモートビューからサウンドレコーダーを制御しようとしています。アクティビティが破壊されても録音を継続する必要があるため、サービスを再起動することはできません。
ところで、私は android:process=":recordingProcess" によって別のプロセスでサービスを開始しようとしましたが、サービスは引き続き実行されますが、これはあなたが行うべき方法ではないと思われます。