【Android】 端末スリープ時のUDP受信率が低下

現在、端末が常時UDPを受信するアプリを開発しているのだが、
端末がスリープモードになると、UDPの受信率が下がっている事が判明した。

[事象確認機種]
・Nexus7(2012) — Android OS 4.3
・中華パッド
(中華パッドよりNexus7のほうが現象がより顕著に出てる。。。)

PowerManagerの “PARTIAL_WAKE_LOCK” を取得してスリープ中もCPUを起こしておくようにしてもやっぱりだめ。。。
英語サイトのほうでもちょいちょい情報載っているけど、下記が一番参考になったかな。

https://groups.google.com/forum/#!topic/android-platform/OpbSdp9FTmA

(でもどのサイトもスリープ中は全く受信しないって言ってて、受信することもあるっていうケースについては書かれていないんだよな)

Androidは画面がOFFになるタイミングで、パケットにフィルターをかけているらしい。
そのフィルターを外せば良いらしいんだけど、root化した端末でドライバーを入れ直す必要があるとか。。。

なんとかroot化しないで解決する術は無いものか。。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>