Android 能否为字符串设置alarmManager.set get
在getCurrentTime中,它必须是返回字符串,但Android 能否为字符串设置alarmManager.set get,android,alarmmanager,Android,Alarmmanager,在getCurrentTime中,它必须是返回字符串,但 public String getCurrentTime(){ Calendar c= Calendar.getInstance(); Log.i("Calander getinstance",Calendar.getInstance()+""); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss "); String str
public String getCurrentTime(){
Calendar c= Calendar.getInstance();
Log.i("Calander getinstance",Calendar.getInstance()+"");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String strDate = sdf.format(c.getTime());
return strDate;
}
public void alert()
{
Calendar cal = Calendar.getInstance();
Intent myIntent = new Intent(MainActivity.this, myReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent,0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC,Long.parseLong(getCurrentTime()), pendingIntent);
}
改变
alarmManager.set(AlarmManager.RTC,Long.parseLong(getCurrentTime()), pendingIntent); is only get for Long. Is that Another way. Help Plz.
到
并返回c.getTime().getTime()
。这将以毫秒为单位返回当前时间。您可以操纵日历
实例来获得所需的时间。可以这样写:
public long getCurrentTime()
您无法将格式化的时间解析回long。您需要使用格式化程序再次解析字符串以获取时间
因此,在设置alarmmanager的时间之前,需要创建另一个SimpleDataFormat对象
long triggerTime = System.currentTimeMillis();
alarmManager.set(AlarmManager.RTC, triggerTime, pendingIntent);
现在呢
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
我想得到“YYYY-MM-DD HH:MM:SS”格式。所以我不能把字符串改为Long。那么,我可以在alarm manager中做一些更改吗?您需要扩展AlarmManager
类并执行自己的自定义实现,但最终AlarmManager
将只接受long
value.PHP返回“YYYY-MM-DD HH:MM:SS”格式。字符串返回。因此,我将当前时间更改为该格式。如果Alarm Manager只会变长,我将遇到一个问题。使用SimpleDataFormat
解析从PHP返回的String
,它将返回Date
对象,然后使用该对象以毫秒
的方式获取时间?给一个向导。。。为什么要字符串返回“YYYY-MM-DD HH:MM:SS”格式。字符串返回。因此,我将当前时间更改为该格式。如果报警管理器只长一点,我就有麻烦了。对不起。我看不到你的答案。它在哪里?好的,我知道了。现在,我正在努力。我有一个问题。我可以在我的应用程序完全关闭时显示通知吗。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
alarmManager.set(AlarmManager.RTC,(sdf.parse(getCurrentTime())).getTime(), pendingIntent);