Android 我想让smth像这样:(如果时间“现在”=5:50下午)做点什么

Android 我想让smth像这样:(如果时间“现在”=5:50下午)做点什么,android,android-studio,Android,Android Studio,我想及时发出警报,但正如我在问题中所说的 我想让smth像这样:如果现在时间=下午5:50,做点什么 我尝试过这个,但它占用了我所有的电池寿命: 我所做的是设置int小时和int分钟,然后 enter code here while (true){ if (Hours==x &minutes==y ) //do somethin } so any better way ? 永远不要做一个whiletrue{}循环,这会占用很多内存 您可以做的一件事是使用处理程序。它将在您想要的延迟后

我想及时发出警报,但正如我在问题中所说的 我想让smth像这样:如果现在时间=下午5:50,做点什么 我尝试过这个,但它占用了我所有的电池寿命: 我所做的是设置int小时和int分钟,然后

enter code here
while (true){
if (Hours==x &minutes==y )
//do somethin

}
so any better way ?
永远不要做一个whiletrue{}循环,这会占用很多内存

您可以做的一件事是使用处理程序。它将在您想要的延迟后调用您给他的Runnable:

 Handler handler = new Handler();
Runnable r = new Runnable() {
    public void run() {
        //do your stuff here, even start a new handler
  }
};
handler.postDelayed(r, 1000);

例如,你可以每分钟启动一次他,然后检查是否是合适的时间,或者每小时,只要计算一下你想让他醒来的时间。

试试这样的方法,你的意思是处理程序会在特定的时间启动活动?需要它在后台我使用服务在后台工作。。我的活动工作发现了,但正如你所说,它需要内存和电池,所以寻找更好的方法可以帮助吗?\n这将取决于你告诉处理程序要做什么,以及你的应用程序是否在bg上。好的,你能给我一个例子,如何让处理程序在特定时间内祝酒吗?只要让你的可运行显示祝酒词,类似于Toast.makeTextgetActivity、yourString、Toast.LENGTH\u LONG.show;问题是..如果我在运行中使用If,当我在指定的时间运行应用程序时,它会给出祝酒词,但如果没有。。我会做的。。。我用的是真的。。。。