android - 在特定时间启动应用程序

标签 android task alarm

我想知道是否可以(以及如何)在特定时间启动我的应用程序,例如在特定时间响起的闹钟。 假设我希望我的应用在早上 8 点启动,这可行吗?

最佳答案

您可以使用 AlarmManager 来完成,这是一个简短的示例。首先你需要设置闹钟:

AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);

Date futureDate = new Date(new Date().getTime() + 86400000);
futureDate.setHours(8);
futureDate.setMinutes(0);
futureDate.setSeconds(0);
Intent intent = new Intent(con, MyAppReciever.class);

PendingIntent sender = PendingIntent.getBroadcast(con, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, futureDate.getTimeInMillis(), sender); 

接下来,您需要使用一些代码创建一个接收器来执行您的应用程序:(即 - 启动您的应用程序):

public class MyAppReciever extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    startActivity(new Intent(context, MyAppMainActivity.class));
   }
}

关于android - 在特定时间启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452565/

相关文章:

当应用程序被滑动时,Android 在服务中维护变量值

ruby-on-rails - 在保持性能的同时处理任务计数

c# - Task.WaitAny 的最大任务?

android - 计算Android闹钟的时间

android - Appwidget ID 但没有小部件

android - 即使时间过去了,也会重复调用警报

android - 如何从 EditText 正确触发 datePicker 和验证?

java - 安卓 : Phone call detect when connected?

android - 如何改变歌曲从停止到开始的状态?

c# - 这些可等待的方法有什么区别?