当前位置:首页 » 安卓系统 » android延迟5秒执行

android延迟5秒执行

发布时间: 2022-01-10 17:10:20

㈠ android怎样判断用户5秒内无操作

希望对你有帮助!首先需要定义一个handler进行接收消息后的处理。然后在适当的时候发送消息,发送消息时需要用到延时,sendMessageDelayed(msg,delay),这里delay就是5000,并且在发送消息之前需要清除掉上一次发送时的delay值removeMessages()。
这样在onKeyDown函数里调用发消息的方法的话,表示在用户点击后5秒发送一个消息到handler,如果在5秒内又有操作的话,会先清除上次的计时再从零开始计时5秒。
所以handler收到消息时一定是用户5秒内无操作的时候,可以在handleMessage()里写上你需要的处理逻辑。

㈡ android 执行某个动作,若返回0,过5秒重新执行,重复5次,不再执行

= =怎么会哦。这个只是很简单的逻辑哦!!!!
你把代码发过来。
我给你写点点先, 看是否能给你灵感、、
int i= 0;
if(i !=5)
{
if(active == 0)
{
i++;
Timer(5000);
//执行
}
}

大概就是这样的原来,你要根据情况改下。

㈢ 如何延迟android的某段代码执行时间

要起到延时的作用需要使用Handler。

举例说明:

java">{

;

privateHandlermHander=newHandler();

privatebooleanmActive=false;
privatebooleanmSwap=true;

privatefinalRunnablemRunnable=newRunnable(){

publicvoidrun(){
if(mActive){
if(mSwap){
mLinearLayout.setBackgroundColor(Color.WHITE);
mSwap=false;
mHander.postDelayed(mRunnable,20);
}else{
mLinearLayout.setBackgroundColor(Color.BLACK);
mSwap=true;
mHander.postDelayed(mRunnable,100);
}
}
}
};

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mLinearLayout=(LinearLayout)findViewById(R.id.strobe);
startStrobe();
}

privatevoidstartStrobe(){
mActive=true;
mHander.post(mRunnable);
}
}

代码的意思是:程序创建一个闪光点效果,延时显示:一个是100 ms,其它是20ms。


关于Handler

Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。

㈣ android中不断变化的值, 保持在一个范围并持续5秒就执行下步操作,怎么实现感激!

我给你思路:你这个功能其实很多软件都有,那就是 一般程序有个功能 连续按两次返回键才退出。即:按一次返回键,程序会提示在按一次返回键退出,而且一般是俩秒内在按一次返回键才行,过了两秒,你按返回不行。给你个参考,就是用android中的 handler来实现,给你个例子,相信聪明的你看了之后,肯定知道怎么做了。http://blog.csdn.net/carterjin/article/details/7677069
其实改那个程序很简单,第一把onkeydown改成你传感器参数不断变化那个函数,才把他的2000改成7000。在把intent 该成你要跳转到Activity

㈤ javaandroid延时函数 怎么解决这个问题

在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如

Java 代码复制内容到剪贴板
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception e){}
在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线 程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。

但是如果要使用精确延时,最好使用Timer类:

Java 代码复制内容到剪贴板
Timer timer=new Timer();//实例化Timer类
timer.schele(new TimerTask(){
public void run(){
System.out.println("退出");
this.cancel();}},500);//五百毫秒
这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次, 使用timer.schele(new MyTask(), 1000, 2000); 则每间隔2秒执行MyTask()

㈥ JAVA 安卓开发中 如何实现语句间延迟执行

多线程操作,如
运行后的界面,继承线程类,或继承AsyncTask

在类的任务扩展AsyncTask
保护无效的doInBackground(VOID ...参数){
调用Thread.sleep(1000);
}
保护无效onPostExecute(虚空结果){
result.setText(str.toString()); BR />

}
}

主线程“新”的任务()()内的;

㈦ 安卓:怎么在5秒后发送intent给broadcastReceiver

/**
*此函数用于延迟发送广播,注意此函数需要在主线程调用.
*比如activity任意生命周期都是运行在主线程的.
*
*@paramcontext
*用来发送broadcast的context,比如activity实例
*@paramintent
*想要发送的intent
*@paramdelay
*想要延迟的时间
*/
(
finalContextcontext,finalIntentintent,longdelay){
//未指定Thread的Handler就会运行在主线程
Handlerhandler=newHandler();

//延迟执行发送广播的逻辑
handler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
context.sendBroadcast(intent);
}
},delay);
}

㈧ Android延时操作的几种方式

在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。
下面是实现延时执行操作的几种方法:
1.使用线程的休眠实现延时操作
new Thread() { @Override
public void run() { super.run();
Thread.sleep(3000);//休眠3秒
/**
* 要执行的操作
*/
}
}.start();

2.使用TimerTask实现延时操作
TimerTask task = new TimerTask() { @Override
public void run() { /**
*要执行的操作
*/
}
};
Timer timer = new Timer();
timer.schele(task, 3000);//3秒后执行TimeTask的run方法

3.使用Handler的postDelayed方法实现延时操作
Handler handler = new Handler();
handler.postDelayed(new Runnable() { @Override
public void run() { /**
*要执行的操作
*/
}
}, 3000);//3秒后执行Runnable中的run方法

㈨ android 开发中如何实现让程序执行一条语句后延时一段时间后再执行下面的语句

你这方法完全是利用了单片机处理速度慢才会有伪延时效果,实际上那时机器正在运算,放在好点的机器上运算速度快了当然就没延时效果了。正统的延时还是要用到楼上说的线程,安卓还有一个timer类也可以用于定时。

㈩ android 开发中如何实现让程序执行一条语句后延时一段时间后再执行下面的语句

延时操作,可以用下列方案:

方案1:线程阻断

try {

Thread.currentThread().sleep(2000);//阻断2秒

} catch (InterruptedException e) {

e.printStackTrace();

}

方案2:使用Handler的postDelayed延迟操作。

mHandler .postDelayed(mRunnable, 3000); // 在Handler中执行子线程并延迟3s。

private Runnable mRunnable = new Runnable() {

@Override

public void run() {

mHandler.sendEmptyMessage(1);

}

};

Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

//3s后执行代码

}

}。

热点内容
密码箱的密码忘记了如何开锁 发布:2024-11-15 06:04:41 浏览:955
安卓软件和苹果系统哪个好 发布:2024-11-15 05:48:32 浏览:283
pythonwhileelse 发布:2024-11-15 05:39:10 浏览:671
java文件流上传文件 发布:2024-11-15 05:24:02 浏览:147
linux安装so 发布:2024-11-15 05:22:29 浏览:581
九游版冒险王2适合安卓哪个版本 发布:2024-11-15 05:12:33 浏览:600
iphonexsmax怎么连接服务器 发布:2024-11-15 05:11:46 浏览:775
长江存储校招 发布:2024-11-15 05:11:01 浏览:966
oraclesql函数大全 发布:2024-11-15 05:10:00 浏览:465
form多文件上传 发布:2024-11-15 05:09:21 浏览:913