zoukankan      html  css  js  c++  java
  • AsyncHandler

    package com.ango.deskclock;
    
    import android.content.Context;
    import android.content.Intent;
    import android.os.Handler;
    import android.os.HandlerThread;
    
    /**
     * Helper class for managing the background thread used to perform io operations
     * and handle async broadcasts.
     */
    final class AsyncHandler {
    
        private static final HandlerThread sHandlerThread =
                new HandlerThread("AsyncHandler");
        private static final Handler sHandler;
        private static Runnable aRunnable;
    
        static {
            sHandlerThread.start();
            sHandler = new Handler(sHandlerThread.getLooper());
        }
    
        public static void post(Runnable r) {
            sHandler.post(r);
        }
        
        public static final boolean postDelayed(Context context, Alarm alarm, long delayMillis) {
        	final Context sContext = context;
        	final Alarm sAlarm = alarm;
        	aRunnable = new Runnable() {
                @Override public void run() {
                    Intent playAlarm = new Intent(Alarms.ALARM_ALERT_ACTION);
                    playAlarm.putExtra(Alarms.ALARM_INTENT_EXTRA, sAlarm);
                    sContext.startService(playAlarm);
                  }
        	};
        	return sHandler.postDelayed(aRunnable, delayMillis);
        }
        
        public static final void removeCallbacks (){
        	sHandler.removeCallbacks(aRunnable);
        }
    
        private AsyncHandler() {}
    }

            AsyncHandler.post(new Runnable() {
                @Override public void run() {
                    handleIntent(context, intent);
                    result.finish();
                    wl.release();
                }
            });
    


    //        // Play the alarm alert and vibrate the device after 10 seconds so that the user can dismiss or snooze before the alarm alert.
    //        Intent playAlarm = new Intent(Alarms.ALARM_ALERT_ACTION);
    //        playAlarm.putExtra(Alarms.ALARM_INTENT_EXTRA, alarm);
    //        context.startService(playAlarm);
            AsyncHandler.postDelayed(context, alarm, 10000); 
    

            AsyncHandler.removeCallbacks();  // remove the AsyncHandler.postDelayed(context, alarm, 10000) in AlarmReceiver.java
    






    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    1380. Lucky Numbers in a Matrix
    672. Bulb Switcher II
    1375. Bulb Switcher III
    1376. Time Needed to Inform All Employees
    1372. Longest ZigZag Path in a Binary Tree
    PHP中curl_multi并发详解【转】
    php中$_REQUEST、$_POST、$_GET的区别【转】
    Post请求的两种编码格式:application/x-www-form-urlencoded和multipart/form-data【转】
    PHP $_FILES函数详解【转】
    php接收二进制流【转】
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4754439.html
Copyright © 2011-2022 走看看