AlarmManager和时间问题

时间:2015-03-12 00:50:59

标签: java android

即时开发我的Android应用程序。我需要做一个报警管理器,它应该在每个小时通知。

但问题是它的例子:如果现在是16:00HR并且我在14:00HR设置这些变量它应该在第二天发出声音但是当我运行我的应用程序时,警报在开始时通知(因为现在是16:00它定于14:00)。

我的设定意图,我在调用警报方法之前执行此操作

Intent intAlarmaManual = new Intent( getActivity(), AlarmaManualBroad.class );
pdIntAlarmaManual = PendingIntent.getBroadcast( getActivity(), 0, intAlarmaManual, PendingIntent.FLAG_CANCEL_CURRENT );

我的方法

private void setearAlarmaManual()
{
        // Variables for testing
        hr = 14;    
        min = 00;

        AlarmManager manager = (AlarmManager) getActivity().getSystemService( Context.ALARM_SERVICE );

        /** Set alarm by user selections **/
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis( System.currentTimeMillis() );
        calendar.set( Calendar.HOUR_OF_DAY, hr );
        calendar.set( Calendar.MINUTE,      min );

        manager.setInexactRepeating( AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                AlarmManager.INTERVAL_DAY, pdIntAlarmaManual );

        Toast.makeText( getActivity(), "Alarm OK", Toast.LENGTH_SHORT ).show();
}

我的接收者

  public class AlarmaManualBroad extends BroadcastReceiver
    {
         @Override
         public void onReceive( Context context, Intent intent )
         {
              // Toast, notifys, etc.
         }
    }
希望你能帮助我。 ^^

0 个答案:

没有答案