安卓:怎么在5秒后发送intent给broadcastReceiver?

 我来答
百度网友1103ea3
2014-11-25 · TA获得超过1217个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:309万
展开全部
    /**
     * 此函数用于延迟发送广播,注意此函数需要在主线程调用.
     * 比如 activity 任意生命周期都是运行在主线程的.
     *
     * @param context
     *            用来发送 broadcast 的 context ,比如 activity 实例
     * @param intent
     *            想要发送的intent
     * @param delay
     *            想要延迟的时间
     */
    public static void sendBroadcastDelayed(
            final Context context, final Intent intent, long delay) {
        // 未指定 Thread 的 Handler 就会运行在主线程
        Handler handler = new Handler();

        // 延迟执行发送广播的逻辑
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                context.sendBroadcast(intent);
            }
        }, delay);
    }
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
QQMSD8
2015-12-04 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

可以直接Handler发送一个延迟消息,并绑定一个Runnable对象,在run方法中发送一个intent即可。


以下是实现步骤:

  1. 实例化Handler对象,注意必须在UI线程中创建。

    Handler handler = new Handler();

  2. 调用postDelayed方法,第一参数是Runnable对象,第二个参数表示延迟时间

    handler.postDelayed(new Runnable(){

    1. public void run(){

      // 5秒后执行这里的代码

      }

      },5000);

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式