2012-02-04 95 views
3

我有这个应用程序需要从服务器每隔30分钟拉数据,经过大量搜索,我达到了这个解决方案: 1-使用AlarmManager每30分钟通知应用程序,而不是保持服务在后台运行。 2-使用带PARTIAL_WAKE_LOCK的wakelocksAndroid:如何从AlarmManager唤醒WIFI(或3G)?

我唯一的问题是Wifi在休眠时关闭。

当我的闹钟被触发时,我如何要求我需要互联网连接?

回答

0

前段时间我的问题完全一样。不幸的是我没有成功。我试过如下:

WifiManager wman = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE); 

    try { 
     wman.reconnect(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return false; 

    } 

也许你可以玩的WifiManager,并找到一种方式,我没有找到。噢,别忘了在清单中设置WIFI权限。

干杯卢卡斯

0
  1. 报警经理唤醒通过接收你的清醒的意图服务
  2. 清醒的意图服务获得一个WiFi锁定
  3. 服务连接注册一个接收器,并呼吁reconnect()reassociate()和必要的操作(这可能是设备特定的)
  4. 服务等待锁定
  5. 接收器唤醒服务时的WiFi连接

骨架代码:https://stackoverflow.com/a/19968708/281545