2010-12-30 7 views
5

こんにちは 私のアプリがACTION_BOOT_COMPLETEDを取得すると、サービスが開始されます。 私はそれを遅らせて60秒と言います。Android app携帯電話の起動時にサービスを開始する方法

public class StartAtBootServiceReceiver extends BroadcastReceiver 
{ 

     public void onReceive(Context context, Intent intent) 
     { 
      // Delay...60sec 
     } 
} 
+0

私はあなたを許可することができます。 –

答えて

4

使用Timer()TimerTask()

 Timer timer = new Timer(); 
     timer.schedule(new TimerTask() { 
      @Override 
      public void run() { 
       //run your service 
      } 
     }, 60000); 
+0

感謝します、またPrashastはAlarmManagerについて話しています。 ベストは何ですか?このような単純な遅延AlarmManagerのための – Erik

+0

はオーバーヘッドです。より複雑な場合に使用されます。 –

+0

Android docsには、「受信者がブロックされ、候補者が殺される前に、システムが許可するタイムアウト時間は10秒です」と記載されています。したがって、onReceiveでTimerを使用することは信頼できない可能性があります。私はAlarmManagerと一緒に行くだろう! – wrygiel

2

あなたはセットアップに60秒後に起動します保留中の意図をAlarmManagerを使用する必要がありますBOOT_COMPLETEDの意図を受信すると は私がしていることを行うことができます。

関連する問題