問題タブ [android-wake-lock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 部分的な wake lock が機能しない
画面がオフの場合にアクティビティをウェイクさせるために、このコードを書きました。
問題は、画面がオフのとき、アプリケーションが一時停止していることです。
android - WAKE_LOCKなしで画面がロックされているときにAndroidプロセスを実行できますか?
特定のイベントが発生したときにのみアクティブになるバックグラウンド サービスに対する唯一の解決策は WAKE_LOCK ですか?
android - Android、デバイスがスリープ モードのときに強度信号 (PhoneStateListener) を取得する
問題があり、検索を行った後、肯定的な解決策が見つかりませんでした。調査の結果、私の問題には実装がないことがわかりましたが、この質問は私の最後のチャンスかもしれません。
何を取得する必要がありますか?
モバイル ネットワークの信号強度に関する情報を取得するアプリケーションがあります。までにし
PhoneStateListener
ます。もちろん、うまく機能しますが、デバイスがスリープモードになると、リスナーは機能しません:
https://code.google.com/p/android/issues/detail?id=10931 https://code.google.com/p/android/issues/detail?id=7592
WakeLock
デバイスがタイムアウトによってオフになった場合にのみ、問題を解決します。ハード電源ボタンを押すと、デバイスもスリープモードになります。電源ボタンのアクションをオーバーライドすることはできません。
私の目標は、デバイスが有効になっているときに常に強度信号を取得することです。モードは問いません。常にデータを収集する必要があります。
質問:
何かアイデアはありますか?それを達成する方法は?これを行う方法はありますか、またはいくつかのハックがある可能性がありますか? すべての解決策は大歓迎です。有益な経験があれば、これを共有してください。
助けてくれてありがとう!!! このトピックでこの問題に関する完全な情報が得られることを願っています。
android - Android の奇妙なクロスデバイス動作
Samsung Galaxy Note 10、HTC Desire C、Sony Xperia E の 3 つの Android デバイスがあります。さらに、これらのデバイスの特定の TCP ポートでリッスンするサービスがあります。すべてのデバイスで WIFI ポリシーが「常時オン」に設定されています。私のサービスは WIFI_MODE_FULL と PARTIAL_WAKE_LOCK を取得するので、CPU と WIFI は常にそこにあります。しばらくして、サーバーからこれらのデバイスに接続しようとすると、問題が発生します。
- Samsung Galaxy Note デバイスは常に正しく動作します
- HTC Desire が到達不能になる
- ソニーが到達不能になる
これらのデバイスに ping を実行して、存在するかどうかを確認しました。結果は次のとおりです。
- Samsung デバイスは常に ping 要求に即座に正常に応答します
- HTC や Sony のデバイスは、到達できない場合があり、応答する場合もあります。ただし、画面がオンの場合でも非常に長い遅延で応答します (ping の時間列は約 5000 ミリ秒になる場合があります)。
WIFI ポリシーにはいくつかの問題があることはわかっています。
- https://code.google.com/p/android/issues/detail?id=9781
- https://code.google.com/p/android/issues/detail?id=6611
画面がping時間になっているのに、なぜこのようになっているのですか? さらに、ウェイクロックを保持していても、画面が消えると CPU クロックが低下することがわかっています。この動作により、TCP 接続を処理するサービス コードで問題が発生する可能性はありますか?
android - キーガードの背後で起動したときの Google ナビゲーション
サービスから Google ナビゲーションを開始するインテントを使用しています。私のサービスには部分的なウェイクロックがあり、これは画面がオンのときに正常に機能します。しかし、画面をオフにすると (部分的なウェイクロックにより CPU が実行され続けます)、Google ナビゲーションは開きますが、ナビゲーションは開始されません。一時的に画面をオンにするよりも良い解決策はありますか? また、なぜこの動作があるのですか?
意図:
Wakelock (後でリリースするので心配しないでください...):
前もって感謝します!
編集:
さらなる調査により、Google ナビゲーションはキーガードの背後から起動されることに問題があるようです...私の現在の解決策は、デバイスを起動し、キーガードを一時的に無効にしてインテントを起動することです。しかし、これは最適な解決策とはほど遠い...