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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • angularjs清除浏览器缓存

    angularjs清除浏览器缓存if(!$httpProvider.defaults.headers.get){  $httpProvider.defaults.headers.get={};}$httpProvider.defaults.headers.common["X-Requested-With"]=’XMLHttpRequest’;$httpProvider.defaults.h…

    2022年7月18日
    21
  • 带多选框的下拉列表「建议收藏」

    带多选框的下拉列表「建议收藏」之前想写一个带多选框的下拉列表,然后找相关的内容,发现大多都是用select写的,这种是默认的下拉列表样式,但有时候需要自己来写样式,这样用select就不合适了。然后我就在csdn中无意间发现了一位博主(codingNoob,在此声明一下,他写了很多文章都不错,我还关注了!)是用li写的,只是没有多选框,然后我就用了一些他的代码,在加上自己的代码。<!DOCTYPEhtml&g…

    2025年8月9日
    3
  • python中dropna()什么意思_python dropna函数

    python中dropna()什么意思_python dropna函数我正在尝试平均化熊猫的一组数据。csv文件中的数据。我有一个系列节目叫“轨道”。在前面的阶段中,我使用了dropna()方法来删除在读取csv文件时导入的一些空白行。在我使用的方法是平均5行以上的列。我不能使用滚动平均法,因为我希望使用当前值之前的两行、当前值和当前值之后的两行来获取平均值。在当我得到数据时,我遇到了一些问题,这些数据中的NaN数据已经被删除,因为标签也被删除了。在defget_…

    2022年9月18日
    3
  • MIPI协议介绍

    MIPI协议介绍MIPI(MobileIndustryProcessorInterface)MIPI联盟是手机工业领导者的集合,成员有Intel,Motorola,Nokia,NXP,Samsung,ST,TI目的是提供给手机应用处理器提供一个统一的接口MIPI联盟用于显示的规格:DCS(DisplayCommandSet):DCS是用于命令模式和显示模式的命令设置DBI

    2022年5月3日
    66
  • awk基本用法简介

    awk基本用法简介之前说过sed,今天来说awk,它也是一个文本处理器,是linux下的一个命令,比sed更强大。搞linux开发,尤其是后台开发,这个命令几乎必须要用到。awk这三个字母分别代表其三位作者的名字,而不是某个/某些有意义单词的缩写。还是那句话,以实践操作为荣,以只看不练为耻。当然,理解awk的原理是必须的:读入有’\n’换行符分割的一条记录,将记录按指定的域分隔符划分域,$0表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是空格键或tab键。

    2022年7月11日
    14
  • 【科普】搜索引擎的工作原理

    【科普】搜索引擎的工作原理昨天的文章全球化的误区,本地化的机会,评论里,有人说,搜索引擎技术似乎不需要本地化,这一看就是彻底不懂这个领域的人讲的。当然,实话说,如果有人说,google在中文本…

    2022年7月19日
    18

发表回复

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

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