Android从入门到精通Android开发Android知识

Android中如何延时执行操作

2016-04-02  本文已影响2999人  Heykel

java

new Handler().postDelayed(new Runnable(){   
public void run() {   
    //execute the task   
    }   
 }, delaytime); 

*2、 开启一个新的线程

java

new Thread(new Runnable(){   
public void run(){   
    Thread.sleep(delaytime);   
    handler.sendMessage(); //execute the task
    }   
}).start    

java

TimerTask task = new TimerTask(){   
public void run(){   
//execute the task 
  }   
};   
Timer timer = new Timer(); 
timer.schedule(task, delay); 

java 设定时间发送广播

Intent intent = new Intent("com.heykel.ClockReceiver");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,23);
calendar.set(Calendar.MINUTE,15);
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);
AlarmManager am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1 * 1000, sender);

xml 初始化广播接收者

 <receiver
        android:name=".receiver.ClockReceiver"
        android:enabled="true"
        android:exported="true"
        tools:ignore="ExportedReceiver" >
        <intent-filter>
            <action android:name="com.heykel.BlockReceiver" />
        </intent-filter>
 </receiver>

java 获取广播执行操作

public class BlockReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    //excute the task
    }
}
上一篇 下一篇

猜你喜欢

热点阅读