android延迟5秒执行,安卓触控延迟解决办法
android中不断变化的值, 保持在一个范围并持续5秒就执行下步操作,怎么实现?感激!
我给你思路:你这个功能其实很多软件都有,那就是 一般程序有个功能 连续按两次返回键才退出。即:按一次返回键,程序会提示在按一次返回键退出,而且一般是俩秒内在按一次返回键才行,过了两秒,你按返回不行。给你个参考,就是用android中的 handler来实现,给你个例子,相信聪明的你看了之后,肯定知道怎么做了。
创新互联服务项目包括白山网站建设、白山网站制作、白山网页制作以及白山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,白山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到白山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
其实改那个程序很简单,第一把onkeydown改成你传感器参数不断变化那个函数,才把他的2000改成7000。在把intent 该成你要跳转到Activity
android 执行某个动作,若返回0,过5秒重新执行,重复5次,不再执行
= =怎么会哦。这个只是很简单的逻辑哦!!!!
你把代码发过来。
我给你写点点先, 看是否能给你灵感、、
int i= 0;
if(i !=5)
{
if(active == 0)
{
i++;
Timer(5000);
//执行
}
}
大概就是这样的原来,你要根据情况改下。
android怎样判断用户5秒内无操作?
可以通过Handler发送延迟消息来实现判断有无操作,实现原理就是,给Activity注册OnTouch事件,当用户触摸屏幕,手指离开的时候发送一个延迟消息。
以下为实现步骤及代码:
1.创建Handler实例
Handler handler = new Handler(){
public void handlerMessage(Message msg){
}
};
2.创建一个Runnable
private Runnable runnable = new Runnable() {
@Override
public void run() {
//用户5秒没操作了
}
};
3.给Activity注册Touch事件
public boolean onTouchEvent(android.view.MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:{ //手指下来的时候,取消之前绑定的Runnable
handler.removeCallbacks(runnable);
break;
}
case MotionEvent.ACTION_UP:{ //手指离开屏幕,发送延迟消息 ,5秒后执行
handler.sendEmptyMessageDelayed(0, 1000 * 5);
break;
}
}
return super.onTouchEvent(event);
};
如何延迟android的某段代码执行时间
要起到延时的作用需要使用Handler。
举例说明:
public class Strobe extends Activity {
private LinearLayout mLinearLayout;
private Handler mHander = new Handler();
private boolean mActive = false;
private boolean mSwap = true;
private final Runnable mRunnable = new Runnable() {
public void run() {
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
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mLinearLayout = (LinearLayout) findViewById(R.id.strobe);
startStrobe();
}
private void startStrobe() {
mActive = true;
mHander.post(mRunnable);
}
}
代码的意思是:程序创建一个闪光点效果,延时显示:一个是100 ms,其它是20ms。
关于Handler
Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。
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后执行代码
}
}。
安卓:怎么在5秒后发送intent给broadcastReceiver?
/**
* 此函数用于延迟发送广播,注意此函数需要在主线程调用.
* 比如 activity 任意生命周期都是运行在主线程的.
*
* @param context
* 用来发送 broadcast 的 context ,比如 activity 实例
* @param intent
* 想要发送的intent
* @param delay
* 想要延迟的时间
*/
public static void sendBroadcastDelayed(
final Context context, final Intent intent, long delay) {
// 未指定 Thread 的 Handler 就会运行在主线程
Handler handler = new Handler();
// 延迟执行发送广播的逻辑
handler.postDelayed(new Runnable() {
@Override
public void run() {
context.sendBroadcast(intent);
}
}, delay);
}
网站名称:android延迟5秒执行,安卓触控延迟解决办法
分享地址:http://abwzjs.com/article/dscghgs.html