2011-06-20 13 views
0

[OK]を、私は、ユーザーの後に表示するようにカウンタを作成したいあなたが何かをクリックした後、あなたは5分タイマーがあるでしょうし、その後、それはあなたを高めますiMobster、のように考える何かAlarmManager変更のユーザデータ

をクリックしてくださいHPによって1 ...

正直言って私はAlarmManagerまたはそれ以外の何かを使ってコードを書く方法がわかりませんプラスアラームが動作していて、ユーザーが別のHPを紛失したとしたら、別のAMをもう5分間追加してください...

誰かがそれに対してより良いロジックを持っているのでしょうか?

答えて

0

このためにAlarmManagerを使用しないでください。 AlarmManagerは、コードを実行する特定の時刻/日付を事前に知っている場合に使用する必要があります。代わりに、からまでN分のコードを実行したい場合は、HandlerとpostDelayedを使用します。

mHandler = new Handler(); 
mHandler.postDelayed(myRunnable, NUMBER_OF_MILLISECONDS); 

そして、あなたのクラスのインスタンスとしてあなたのRunnableを定義します。

private Runnable myRunnable = new Runnable() { 
    public void run() { 
     // do the work you want to do, like check if you need to add hitpoints or whatever 

     // go again later (only necessary if you want to keep polling repeatedly) 
     mHandler.postDelayed(myRunnable, NUMBER_OF_MILLISECONDS); 
    } 
}; 

あなたは一度だけ実行したい場合、あなたはRunnableを内部コードからpostDelayed()の呼び出しを省略すると思います。だから、ヒットポイントを追加または減算したいアクションが取られるたびにハンドラのpostDelayed()を呼び出し、指定された時間が経過して実行され、実行されることがあります。

+0

は論理的だと思われますが、まだ確認していませんが、確かに後で行います。アプリが終了しても実行されることを保証しますか? (あなたが知っている、これらのタイプのゲームでも同じです) – Hok

+0

このコードをサービスに入れた場合のみ。その後、アプリが終了しても実行を継続します。 –

+0

は魅力的に働いた – Hok

関連する問題