Android - 本机套接字在第一次尝试时不会删除 3G 睡眠模式

发布于 2024-12-09 15:25:38 字数 232 浏览 0 评论 0原文

我有一个非常烦人的问题。 发生的情况是我有一个应用程序使用本机套接字通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

李白 2024-12-16 15:25:38

尝试在 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

滥情空心 2024-12-16 15:25:38

我会尝试一下 ConnectivityManager API requestRouteToHost(int networkType, int hostAddress)

I'd give the ConnectivityManager API requestRouteToHost(int networkType, int hostAddress) a try.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文