春衣少年当酒歌,起舞四顾以笑和。这篇文章主要讲述Android postdelayed处理程序无法启动运行相关的知识,希望能为你提供帮助。
我有延迟锁定系统当前工作的功能。 startTimer函数在onCameraFrame()函数中启动,该函数调用捕获的每个帧。如果调用我的下面的计时器,则会引发一个标志来锁定进程。
public void startTimer() {if (!isLockSystem()) {
Handler handler = new Handler();
setLockSystem(true);
Log.d(TAG_DEBUG, " The system is locked !");
handler.postDelayed(new Runnable(){
@Override
public void run() {
setLockSystem(false);
Log.d(TAG_DEBUG, " The system is unlocked !");
}
}, 5000);
} else {
Log.d(TAG_DEBUG, " The system is already locked !");
}
}
调用startTimer(),但永远不会返回run()函数。每当我触发startTimer时,按下“系统已被锁定”。
在重复过程中仅执行一次计时器的安全方法是什么,例如从摄像机捕获连续帧。
答案问题是在onCameraFrame()方法中执行处理程序。
【Android postdelayed处理程序无法启动运行】正确的方法是使用ShakeListener触发器在onCreate中调用此函数。
推荐阅读
- Android - 线程问题(按钮中的随机字符切换,直到单击按钮)
- 为什么我需要Android Studio中的GitHub中的Tag()
- 在Bootstrap 4中定义固定宽度input-group-append div
- 如何从图像Android应用程序中提取文本
- Android,无法使用WebView上传图像
- 在Glide for Android中离线时加载已获取的图像
- android减少摄像头捕获图像的文件大小小于500 kb
- Applescript制作新文件夹
- WebVR第4部分(画布数据可视化)