1

このコードを使用してアクティビティから呼び出されるサービスがあります。

startService(new Intent(AMC_Activity.this,CallService.class));

サービスは約20〜30分間正常に実行されていますが、その後サービスの実行が停止した後、「フォアグラウンド」サービスを使用できることはわかっていますが、それを使用して通知を表示する必要があるため、サービスの停止を防ぐ他の方法はありますかランニング?

4

2 に答える 2

0

デバイスで TaskManager アプリを使用する場合は、アプリやサービスを強制終了しないように注意する必要があります。

于 2013-04-27T22:06:13.103 に答える
0

よくわかりませんが、あなたは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();

それはあなたに役立つかもしれません。

于 2013-04-27T20:10:25.710 に答える