このコードを使用してアクティビティから呼び出されるサービスがあります。
startService(new Intent(AMC_Activity.this,CallService.class));
サービスは約20〜30分間正常に実行されていますが、その後サービスの実行が停止した後、「フォアグラウンド」サービスを使用できることはわかっていますが、それを使用して通知を表示する必要があるため、サービスの停止を防ぐ他の方法はありますかランニング?
このコードを使用してアクティビティから呼び出されるサービスがあります。
startService(new Intent(AMC_Activity.this,CallService.class));
サービスは約20〜30分間正常に実行されていますが、その後サービスの実行が停止した後、「フォアグラウンド」サービスを使用できることはわかっていますが、それを使用して通知を表示する必要があるため、サービスの停止を防ぐ他の方法はありますかランニング?
デバイスで TaskManager アプリを使用する場合は、アプリやサービスを強制終了しないように注意する必要があります。
よくわかりませんが、あなたはUIスレッドからサービスを開始していると思います。その後、アプリケーションのバックグラウンドに入れているので、しばらくするとアクティビティインスタンスが失われ、そのUIスレッドもその時点で強制終了されます。
解決
新しいスレッドを作成し、UI スレッドの代わりにそのスレッドでサービスを開始します。サービスは、スレッドが呼び出しているスレッドで作業を行っているためです。
//This code will be in class body.
private Thread thread1 = new Thread(){
public void run(){
startService(new Intent(AMC_Activity.this,CallService.class));
}
}
//Now this code will be call when you are going to start the service, i.e. Under onCreate()
thread1.start();
それはあなたに役立つかもしれません。