如何延迟 Android 中的某些操作,以便任务在设置的延迟后完成?
How to delay some action in Android so that a task completes after a set Delay?
我正在尝试在 Android 中开发一个应用程序,其中有一些操作需要在设定的时间段后执行。
我可以做些什么来实现这个目标?
如果不用库,handler就够了
Handler().postDelayed({
// do smth after delay
}, 1000)
如果您使用 java 在 android Studio 中编写代码,那么我建议您使用处理程序,它将在确定的时间跨度后执行您的操作
在您的 activity 的 onCreate
方法中执行此操作:
int any_delay_in_ms = 1000; //1Second interval
new Handler().postDelayed(() -> {
//TODO Perform your action here
}, any_delay_in_ms);
所有答案都是正确的,但不推荐使用如下所示的启动处理程序。
new Handler()
您需要为处理程序对象提供循环程序。所以使用下面的代码片段:
Handler(Looper.getMainLooper()).postDelayed({
// do something
}, 1000)
Looper.getMainLooper() 将确保在该块中编写的代码在 UI 线程上运行。
我的另一个答案中有更多详细信息:
我正在尝试在 Android 中开发一个应用程序,其中有一些操作需要在设定的时间段后执行。
我可以做些什么来实现这个目标?
如果不用库,handler就够了
Handler().postDelayed({
// do smth after delay
}, 1000)
如果您使用 java 在 android Studio 中编写代码,那么我建议您使用处理程序,它将在确定的时间跨度后执行您的操作
在您的 activity 的 onCreate
方法中执行此操作:
int any_delay_in_ms = 1000; //1Second interval
new Handler().postDelayed(() -> {
//TODO Perform your action here
}, any_delay_in_ms);
所有答案都是正确的,但不推荐使用如下所示的启动处理程序。
new Handler()
您需要为处理程序对象提供循环程序。所以使用下面的代码片段:
Handler(Looper.getMainLooper()).postDelayed({
// do something
}, 1000)
Looper.getMainLooper() 将确保在该块中编写的代码在 UI 线程上运行。
我的另一个答案中有更多详细信息: