如何为我的数据库值设置警报,因为db值是字符串。例如我的日期和时间是10:33 AM4 / 11/2015。
Date m_date = new Date();
SimpleDateFormat m_dateFormat = new SimpleDateFormat("hh:mm aayyyy-MM-dd");
try {
m_date = m_dateFormat.parse("1:40 PM4/11/2015");
} catch (ParseException p_e) {
p_e.printStackTrace();
}
m_date.getTime();
String s = String.valueOf(m_date.getTime());
System.out.println("Pakistan " + s);
// Log.d("Tag Name", s);
long foo = Long.parseLong(s);
System.out.println("Pakistan " + foo);
long time = new GregorianCalendar().getTimeInMillis() + foo;
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getBroadcast(this, 1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
Toast displayVal = Toast.makeText(getApplicationContext(), "Alaram Set After 10 sec it will work", Toast.LENGTH_LONG);
displayVal.show();
答案 0 :(得分:0)
首先,您的m_dateFormat
hh:mm aayyyy-MM-dd 用于" 1:40 PM4 / 11 / 2015" 强>
请使用" hh:mm aaMM / dd / yyyy "
然后你不需要从字符串中解析时间。
最后,使用AlarmManager.RTC_WAKEUP
时,AlarmManager的时间 UTC时间
Date m_date = new Date();
SimpleDateFormat m_dateFormat = new SimpleDateFormat("hh:mm aaMM/dd/yyyy");
try {
m_date = m_dateFormat.parse("1:40 PM4/11/2015");
} catch (ParseException p_e) {
p_e.printStackTrace();
}
long time = m_date.getTime();
System.out.println("Pakistan " + time);
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getBroadcast(this, 1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));