程序的后台(不是server)会1分钟连接一次服务器,给服务器上传数据,然后再通过服务器更新本地数据...
当机器屏幕自动锁定后,会成功上传2次,然后就不会上传了(因为服务器没有得到任何请求了)
一旦当我解除屏幕锁定又可以成功上传了...
我注意观察过几次....发现应该是屏幕自动锁定后网络会断开(当前测试的2g),wifi可以设置成锁定后一直连接,2g(或者3g)就好像无法设置了....请问有人遇到类似的问题?
求探讨....

解决方案 »

  1.   

    PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); 
    wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Constants.TAG); 
    wakeLock.acquire(); 
      

  2.   


    我百度了
    权限是
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.DEVICE_POWER" />
    ......
    PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。
    SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
    SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
    FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度我当前测试的是 PARTIAL_WAKE_LOCK ....
    因为刚才在怀疑是不是因为锁屏后一定时间内不进行网络请求就会把网络断开(这样可以节约电)...然后qq不是在锁屏后也能收到信息么,, 然后我开启qq,也开启我的程序,锁屏后 20分钟都能正常连接服务器, 然后我关掉qq,锁屏3分钟后就没有法连接服务器了...