安卓C2DM睡眠手机

3
根据this,Android C2DM通过心跳机制保持套接字连接,使其能够接收推送消息。这让我希望能够向处于休眠状态但仍有活动wifi连接的手机发送消息。
我已经实现了将“delay_while_idle”设置为“0”的功能。如果我的手机屏幕关闭,消息会被传递,但如果手机进入休眠状态则不会(测试间隔为20分钟,1-6小时)。
我已经获取了部分CPU锁和完整的WiFi锁以防万一。
我是基本上做错了什么,还是我误解了C2DM推送功能?
我能否向睡眠中的手机发送消息?

你可以向休眠的手机发送消息,但是有一些问题和注意事项。确保在接收器中获取唤醒锁,并查看此线程以获取更多信息:http://groups.google.com/group/android-c2dm/browse_thread/thread/31a3fcae20a8267c - Charlie Collins
这似乎是解决方案:“大家好,我认为Android 2.3将允许开发人员解决此问题。 我是SIP应用程序的作者(CSipSimple-在googlecode上搜索;))。 阅读Android 2.3 SIP股票应用程序的源代码,我注意到他们使用了一种新类型的wifi锁定....它是:WifiManager.WIFI_MODE_FULL_HIGH_PERF(int 3)。 - marko
你尝试过更改Wi-Fi睡眠策略吗? - Brandon O'Rourke
1个回答

2

使用AlarmManager代替WakeLock可以让您的手机保持足够的活力。请参阅此实现。我将测试此变体。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接