我是android的新手。 我想在特定的时间每天做一些工作。 我的工作是从数据库中获取一个数据并向用户显示。 我使用onReceive方法来完成这项工作。
我将下面的代码放在OnCreate方法
中SharedPreferences prefs = getSharedPreferences("FIRST_TIME_LOGIN", MODE_PRIVATE);
String restoredText = prefs.getString("isFirstTime", null);
if (restoredText == null) {
SharedPreferences.Editor editor = getSharedPreferences("FIRST_TIME_LOGIN", MODE_PRIVATE).edit();
editor.putString("isFirstTime", "yes");
editor.commit();
Calendar calendar = Calendar.getInstance();
//calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 35);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM,Calendar.AM);
Intent alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, alarmIntent, 0);
manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int interval = 1000*60*5;//calendar.getTimeInMillis()//AlarmManager.INTERVAL_DAY
manager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis() ,AlarmManager.INTERVAL_HOUR , pendingIntent);
Toast.makeText(getApplicationContext(), "Alarm Set MainActivity", Toast.LENGTH_SHORT).show();
}
检查我用了一个小时的间隔。 问题是每当我安装我的应用程序时,它会立即触发警报,它应该在上午9点30分发出警报。
我的代码有什么问题?