Я пишу приложение для будильника Android
Я получаю время из базы данных sqlite и устанавливаю их в диспетчере будильников.
Оно работает, когда время истекло, но не работает в точное время.
Это мой код (это функция, которая выполняется в методе mainactivity onCreate ())
public void fillListFromDb()
{
SQLiteDatabase db = new HelpedDb().getReadableDatabase();
Cursor getcityid = db.rawQuery("select * from defcity",null);
String tmpcityid = "";
if(getcityid!=null)
{
if(getcityid.moveToFirst())
{
tmpcityid = getcityid.getString(getcityid.getColumnIndex("defvalue"));
}
}
getcityid.close();
Cursor getCityName =db.rawQuery("select * from city where id="+tmpcityid,null);
String cityName="";
if(getCityName!=null)
{
if(getCityName.moveToFirst())
{
cityName=getCityName.getString(getCityName.getColumnIndex("cityname"));
}
}
txtcityname = (TextView) findViewById(R.id.txtcityname);
txtcityname.setText("("+cityName+")");
getCityName.close();
Cursor cursor = db.rawQuery("select * from dayoghat where cityid="+tmpcityid,null);
Intent alarmIntent = new Intent(G.context,Alarm_reciver.class);
pendingIntent = PendingIntent.getBroadcast(G.context,0,alarmIntent,PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
while (cursor.moveToNext())
{
StructOghat oghatlist = new StructOghat();
oghatlist.rooz = cursor.getString(cursor.getColumnIndex("rooz"));
oghatlist.sahar = cursor.getString(cursor.getColumnIndex("sahar"));
oghatlist.azan = cursor.getString(cursor.getColumnIndex("azan"));
oghatlist.ramazan = cursor.getString(cursor.getColumnIndex("ramazan"));
String currentazan = cursor.getString(cursor.getColumnIndex("azan"));
String[] azantime = currentazan.split(":");
int azanhour = Integer.parseInt(azantime[0]);
int azanminute = Integer.parseInt(azantime[1]);
calendar.set(Calendar.HOUR_OF_DAY,azanhour);
calendar.set(Calendar.MINUTE,azanminute);
calendar.set(Calendar.SECOND,0);
Log.e("azan",azantime[0]);
Log.e("azanminut",azantime[1]);
alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
list.add(oghatlist);
}
adapter.notifyDataSetChanged();
}
}