Android BroadcastReceiver等待网络连接执行功能

时间:2013-05-10 13:23:29

标签: android alarmmanager

我设置了一个重复的AlarmManager,它会在一定时间内发送pendingIntent来调用BoardcastReceiver来执行我的应用程序的更新内容。我的问题是如何等待网络连接建立,然后执行更新模块?

例如,AlarmManager将在每个星期六下午1点触发BoardcastReceiver以执行更新,但现在如果没有网络连接,它将错过更新。

我在BoardcastReceiver中试过这个:

public void onReceive(final Context context,Intent intent)
{
        Thread thread = new Thread()
        {
            @Override
            public void run()
            {
                try
                {
                    while(!isConnected(context))
                    {
                        Thread.sleep(1000);
                        Log.e("MyAPP","Sleep");
                    }
                    Updater updater = new Updater(context);
                    updater.execute();
                }catch(Exception e)
                {
                }
            }
        };
    thread.start();
}

isConnected()运行良好,但是当我建立连接时,更新程序不会执行。执行自动更新的常见或好主意?提前谢谢。

1 个答案:

答案 0 :(得分:0)

让你的BroadcastReceiver启动服务