簡體   English   中英

如何在Android的特定時間運行服務?

[英]How to make a Service run at a specific time in Android?

因此,我有以下代碼,以便每天7:32 AM啟動服務:

Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());

Calendar cal = new GregorianCalendar();

cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, 7);
cal.set(Calendar.MINUTE, 32);


Intent start = new Intent(getActivity(), Services.class);
PendingIntent PI = PendingIntent.getService(getActivity(), 0, start, 0);
AlarmManager am = (AlarmManager)getActivity().getSystemService(getActivity().ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 10*1000, PI);
getActivity().startService(start);

但是它似乎不起作用,它沒有在指定的時間啟動服務。 有人能幫我嗎?

好吧,首先重復是行不通的,因為您將間隔設置為10秒。 要使其每天發生,您需要1000 * 60 * 60 * 24。]

其次,添加到您的日歷已關閉。 您需要cur_cal.add(Calendar.DAY_OF_YEAR, 1) 這將把它移到明天。 您要做的基本上是將其乘以2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM