2016-08-06 40 views
-2

我想在系统时间戳达到特定时间时调用函数。 反正比CountDownTimer更好吗? 它应该在服务上调用,因为我希望它在应用程序关闭时仍然运行。在特定时间戳调用函数的最佳方法

非常感谢。

+0

您可以尝试使用警报管理器,通过此设置您可以设置特定的时间戳单个或重复出现以运行服务。 – kabuto178

回答

0

你必须使用BroadcastReceiver和AlarmManager一样。

//Create alarm manager 
AlarmManager malarmMngr = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 

//Create pending intent & register it to your alarm notifier class 
Intent intent = new Intent(this, yourBroadcastReceiver.class); 
PendingIntent mPendInt = PendingIntent.getBroadcast(this, 0, intent, 0); 

//set your time stamp (for once in future) 
malarmMngr .set(AlarmManager.RTC_WAKEUP, yourtimestamp, mPendInt); 

现在创建yourBroadcastReceiver类来调用函数。

public class yourBroadcastReceiver extends BroadcastReceiver { 
    public MyReceiver() { 
    } 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // This method is called when this BroadcastReceiver receives an Intent broadcast. 
     // Call your function here 
    } 
} 
+0

难道你不想alarmManager.setExact()? – CodeCody

相关问题