1

私のAndroidアプリケーションでは、フォアグラウンドで開始されるリモートサービスを実行しています

startForeground(1, notification)

殺されないように。このサービスでは、タスクはこのように 15 分ごとに実行され、繰り返されます。

handler.post(scheduledTask);
    class ScheduledTask implements Runnable{

        @Override
        public void run() {
            // Do the task
            // Repeat the task after the interval
            handler.postDelayed(this,INTERVAL);
        }
    }

このアプリケーションを 1 日オンにしました。しかし、真夜中以降、約5〜6時間機能しなくなり、早朝にアプリケーションを再開すると、それは続きました。

誰かがこの問題の原因を教えてもらえますか? これをGalaxy Noteでテストしました。

4

1 に答える 1

1

postDelayedよりもAlarmManagerを使用してください。今はコードを投稿することはできませんが、同じニーズがあり、AlarmManager は postDelayed よりもはるかに優れていることが証明されました。

アラーム イベント (インテント) が発生するたびにサービスを開始する、ある種のアラーム レシーバー (BroadcastReceiver など) が必要になります。

于 2012-08-13T11:24:41.430 に答える