2016-04-03 5 views
0

ごとに数分を誰かが私がやっているかもしれないものにすることができた後、私は2時間後に実行すべき活動のOnCreateのが、その走行時のアラームマネージャを作成していますが間違っていますか?アンドロイド:アラームマネージャーの失火

public class DrawerActivity extends AppCompatActivity { 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_drawer_menu); 
     ButterKnife.bind(this); 
setUpFitnessAlarm(); 

} 

} 

private void setUpFitnessAlarm(){ 
     Intent alarmIntent = new Intent(DrawerActivity.this, GoogleFitAutoStart.class); 
     pendingIntent = PendingIntent.getBroadcast(DrawerActivity.this, 0, alarmIntent, 0); 


     int wkupTime; 

      wkupTime =72000; 
      Log.i(TAG,"Default timer fetch : "+wkupTime); 



     manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), wkupTime, pendingIntent); 


    } 

答えて

1

AlarmManager.setInexactRepeating(...)の3番目のパラメータは秒単位ではなくミリ秒単位です。 正しい番号は2 * 60 * 60 * 1000 = 7200000です。

はまた一緒にAndroidのグループのアラームは電源(ドーズ)を保存するので、それはおそらく、正確に2時間ではありませんことを覚えておいてください。 2時間2分、1時間59分です。正確に2時間を使いたい場合は、setExact(...)を使用しますが、実際に必要なときにのみこれを使用してください。

+0

最後のパラメータを指摘していただきありがとうございます。ミリ秒です。私は迷っていました。 – Sutirth

関連する問題