2016-06-14 5 views
-2

短期間(例えば2秒)でアンドロイドでタスクを繰り返す最良の方法は何ですか?画面がロックされていても実行し続ける必要があります。私が間違っていないのであれば、AlarmManagerがスリープ状態から復帰するため、AlarmManagerを使用することはできますが、短時間(推奨最低1分間)は使用しないでください。どのようなタイプの通知ツールがFacebook MessengerやSkypeのようなチャットプログラムによって使用され、ユーザーは毎日通知されますか? ありがとうございます。Android - 画面がロックされていてもバックグラウンドでタスクを繰り返すのに最適な方法

+1

サービスを使用する。 –

+0

彼らは何らかの[プッシュ通知](https://en.wikipedia.org/wiki/Google_Cloud_Messaging)を使用しています – pskink

答えて

0

これはあなたがしてtimer.cancel()メソッド呼び出し を停止したいときはあなたに1つのオプションは、チェックが

final Timer timer = new Timer(); 
timer.scheduleAtFixedRate(new TimerTask() { 
    @Override 
    public void run() { 
     // your code which you want to repeat 
    } 
}, start_task_after_some_milli_seconds, repeat_time_in_milli_seconds); 

役立つかもしれないです

+0

私はそれを使用すべきではないと言っているtimertaskについての記事を見ましたこれはメモリホールが残っており、奇妙なランタイムエラーが発生するためです。私が使用したときにもエラーが発生しましたが、ハンドラと実行可能ファイルに置き換えたときに問題はなくなりました。しかし、残念ながら、私のプログラムが通知しないようにデバイスがスリープモードになると、timertaskとrunnableは機能しなくなります。 – user2645964

+0

永続的なサービスを作成し、その呼び出しタイマーで作成できます。 –

1

だから、通知ツールの種類は以下のようなチャットプログラムによって使用されています 毎秒 の1秒ごとにユーザーに通知するFacebook MessengerまたはSkype?

プッシュ通知の概念を使用します。基本的にバックグラウンドで実行されているサービスがあり、新しいデータがあるかどうかをサーバーに聞きます。サーバーに新しいデータがあると、それがクライアントにプッシュされ、サービスによってデータが処理され、通知として表示されます。

初心者の方は、プッシュ通知を実装するための出発点としてFireBaseを調べる必要があります。

関連する問題