首页 > 解决方案 > 通过android每天设置闹钟8时钟不起作用

问题描述

我尝试在每天早上 8 点设置闹钟来执行 mainActivity ,所以这是我的 MainActivity:

   protected void onCreate(Bundle savedInstanceState){
      Intent Alarm = new Intent(MainActivity.this,LongRunningService.class);
      startService(Alarm);
   }

LongRunningService 是服务:

   AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
   Calendar calendar = Calendar.getInstance();
   calendar.setTimeInMillis(System.currentTimeMillis());
   calendar.set(Calendar.HOUR_OF_DAY, 8);   
   calendar.set(Calendar.MINUTE, 00);   

   Intent i = new Intent(this,AlarmReceiver.class);
   intent.setAction("startAlarm");
   PendingIntent pi = PendingIntent.getBroadcast(this,0,i,0);
   manager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pi);

报警接收器.java

   public void onReceive(Context context, Intent intent){
     if ("startAlarm".equals(intent.getAction()))
         Log.d(TAG, "onReceive! ");  //not working?
    }
   Log.d(TAG, "onReceive! ");  //it's working

标签: androidalarmmanager

解决方案


我知道会发生什么,

    Intent i = new Intent(this,AlarmReceiver.class);
    intent.setAction("startAlarm");  //wrong

    i.setAction("startAlarm");   //correct

推荐阅读