0

これはonCreate()で作成し、ホームボタンを押した後です。ScheduledExecutorServiceはバックグラウンドで10分ごとに実行されるわけではありません。なぜですか?

間違いはどこにありますか。
私を助けてください 。

前もって感謝します。

        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        executor.scheduleWithFixedDelay(new Runnable(){

            public void run() {
//play music to check if it executes every 10 mins

                  mp3.start();
            }

    }, 0, 600, TimeUnit.SECONDS);
4

1 に答える 1

2

AlarmManagerは Executor よりも 10 分ごとにタスクを繰り返すのに適していると思います。

AlarmManager をセットアップし、BroadCast レシーバーを使用してトリガーを「キャッチ」し、onReceive() メソッド内で、mp3 の開始など、好きなことを行うことをお勧めします。特に、アプリケーションが現在デバイス上でアクティブなアプリではない場合でも、サウンドを再生することを意図している場合は、この方法の方がうまくいくと思います。

于 2013-01-30T14:23:34.707 に答える