【发布时间】:2013-10-22 00:55:20
【问题描述】:
我正在使用唤醒锁作为闹钟来定期更新应用状态。 wifi 需要一段时间才能在三星手机上连接。此外,Wifi 上的“保持清醒”选项无法在三星手机上运行 (nor are they interested in fixing the issue)。所以当wakelock确实发生时,它应该等待wifi连接。我是否需要为 wifi 连接创建一个侦听器才能使其工作,或者应该唤醒锁,有点阻止该 wifi 连接?
mWakeLock = ((PowerManager) getSystemService(POWER_SERVICE)).newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK, "Taxeeta");
mWakeLock.acquire();
// do some network activity, in a asynctask
// in the doPost of asyscTask, release lock
编辑: 问题是,在 AsyncTask 中,如果网络未连接,或者需要时间才能启动(3g 需要一段时间才能启动),Async doInBackground 中的 Web 服务调用将失败。无论如何,我将不得不释放锁。
所以
我应该把 wifi/数据连接监听器放进去吗?还是有更好的办法?
【问题讨论】:
-
为什么要“wakeLock 等待网络连接”??您必须持有唤醒锁,并确保在网络连接时一直持有它。发布更多您的设计以获得正确的答案
-
你的问题解决了吗?
标签: android-wifi 3g android-wake-lock