Android - 本机套接字在第一次尝试时不会删除 3G 睡眠模式
我有一个非常烦人的问题。 发生的情况是我有一个应用程序使用本机套接字通过 TCP 发送数据。 当我第一次启动应用程序并通过套接字发送数据时,没有任何内容通过。但是,如果我随后退出该进程并重新启动它,然后再次发送,它就会起作用。如果我在睡眠模式后第一次启动我的应用程序之前打开浏览器或其他东西,也会发生同样的情况。
在调用本机代码之前,如何“强制”3G 退出睡眠模式?
编辑:我已经尝试过使用PowerManager。
I have a really annoying problem.
What happens is I have an application which is using native sockets to send data over TCP.
When I first launch my application and send data over the sockets, nothing gets through. However if I then quit the process and restart it and then send again, it works. Same thing if I open the browser or something before starting my app for the first time after sleep mode.
How do I 'force' 3G to go out of sleep mode before I make the call to the native code?
EDIT: I have already tried with PowerManager.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试在 ConnectivityManager 上调用 startUsingNetworkFeature (int networkType, String feature) 并等待它可用,然后再绑定套接字等......
Android 文档
Try calling startUsingNetworkFeature (int networkType, String feature) On a ConnectivityManager and wait for it to be available before you bind your sockets ect......
Android Documentation
我会尝试一下 ConnectivityManager API
requestRouteToHost(int networkType, int hostAddress)
。I'd give the ConnectivityManager API
requestRouteToHost(int networkType, int hostAddress)
a try.