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


相关推荐

  • java集合底层实现原理_java数据存入数组

    java集合底层实现原理_java数据存入数组modCount:记录当前集合被修改的次数在所有的集合实现类中(Collection与Map中),都会有一个 modCount 的变量出现,它的作用就是记录当前集合被修改的次数。下面以ArrayList 类进行说明:添加方法:删除方法:可以看出,两个操作都会影响元素的个数。 当我们使用迭代器或 foreach 遍历时,如果你在 foreach 遍历时,自动调用迭代器的迭代方法,此时在遍历过程中调用了集合的add,remove方法时,modCount就会改变,而迭代器记录的modCount

    2022年8月8日
    8
  • ZIP 压缩解压命令

    ZIP 压缩解压命令压缩一个文件,打开cmd窗口 zip f:\wenjian.zip f:\wenjian.txt压缩一种格式的文件 zip f:\wenjian.zip f:\*.txt压缩文件夹及里面的内容 -r表示压缩文件夹wenjian及里面的内容 zip-rf:\wenjian.zip wenjian  移除压缩包里的一

    2022年5月16日
    53
  • sadd_slow是什么意思啊

    sadd_slow是什么意思啊[code="java"]InputStreamis=this.getResources().openRawResource(R.raw.archerready1); FileringtoneMediaFile=newFile("/sdcard/.w3media/"); if(!ringtoneMediaFile.exists()){ try{ …

    2025年8月20日
    1
  • android 2d游戏开发_引擎制作

    android 2d游戏开发_引擎制作Android2D游戏引擎AndEngine快速入门教程

    2022年9月16日
    3
  • vs2010查看quartz.net 2.1.2的源码时其中一报错的解决方法

    vs2010查看quartz.net 2.1.2的源码时其中一报错的解决方法

    2021年8月24日
    52
  • vue-router路由懒加载_vue数据懒加载

    vue-router路由懒加载_vue数据懒加载什么是路由懒加载官方的解释:当打包构建应用时,JavaScript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更

    2022年8月7日
    5

发表回复

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

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