抱歉,如果之前回答过,但我到处找,但没有得到正确的解决方案
我正在使用 AlarmManager 每天早上 9 点自动触发通知,但是当我尝试在模拟器上运行它时,它会立即执行,之后每隔半小时(准确地说是 31-32 分钟)执行一次,而不是每天早上 9 点才执行一次。
任何想法为什么?帮助表示赞赏。
代码如下:
public class Home extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bsheet);
notificationAlert(savedInstanceState);
}
private void notificationAlert(Bundle savedInstanceState) {
AlarmManager manager;
PendingIntent pendingIntent;
Intent intent=new Intent(Home.this, Notify.class);
manager=(AlarmManager)getSystemService(ALARM_SERVICE);
pendingIntent=PendingIntent.getService(Home.this,
0, intent, 0);
GregorianCalendar gcal = new GregorianCalendar();
gcal.set(Calendar.HOUR_OF_DAY, 9);
gcal.set(Calendar.MINUTE, 0);
gcal.set(Calendar.SECOND, 0);
gcal.set(Calendar.MILLISECOND, 0);
long initTime = gcal.getTimeInMillis();
manager.setRepeating(AlarmManager.RTC_WAKEUP, initTime,
24*60*60*1000, pendingIntent);
}
}
干杯,
编辑:我的意图是,一旦安装了应用程序,它就会在上午 9 点发出这个警报。我已将警报放在 onCreate 中,所以我不确定是否仅在每次启动应用程序时才创建警报,并且当我隐藏应用程序时发生了一些奇怪的事情......再次洞察力将不胜感激!