繁体   English   中英

使用Alarm Manager启动服务

[英]Using Alarm Manager to Start a Service

我有一些代码我想在每天凌晨3点执行。 我已经阅读了服务类文档 ,似乎我可以使用AlarmManager来激活一个意图(我认为是活动或服务?),然后,在那个意图中创建并在Android Notification区域发布消息。

Calendar threeAM = Calendar.getInstance();
threeAM.set(Calendar.HOUR_OF_DAY,2);
threeAM.set(Calendar.MINUTE,0);
threeAM.set(Calendar.SECOND,0);
threeAM.set(Calendar.MILLISECOND,0);
AlarmManager alarmManager =
         (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, myNotifier.class);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, threeAM.getTimeInMillis(),
        AlarmManager.INTERVAL_DAY, PendingIntent.getService(context, 1, i , 0));
Log.i("Service TEST", "Alarm set?" );

它运行代码没有任何问题,但没有迹象表明警报已设置,并且活动未启动。 我正在使用我知道有效的活动。 我尝试将它包装在try / catch中,logcat中没有任何东西......

任何帮助,将不胜感激!! :)

我认为您应该注册您的活动以接收启动广播接收器,以便您的应用程序在操作系统启动完成时启动。 这里是链接http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

我希望这能帮到您。

它在通知方面没有帮助,但是它会解决您的活动问题而无法启动...

只有在凌晨3点之前执行代码,您的代码才有效。 否则,您将在过去设置闹钟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM