AsyncHandler

AsyncHandler

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117151.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号