問題タブ [powermanager]
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 - 画面のボタンを押すと、画面が完全に暗くなります
電源ボタンを押して画面をロックするのと同じように、Android をコーディングして画面を完全にオフにする方法。
ユーザーが画面上のボタンを押すと、画面が消えます。
私は(許可を得て)試しました:
wl.acquire();
しかし、私のために働いていません、助けてください! ありがとう!
java - Thread.sleep 後の AsyncTask の確実なウェイクアップ
onCreate() で asynctask を作成するフォアグラウンド サービスがあります。asynctask の doInBackground には がありwhile(true)
ます。この関数では、特定のネットワーク操作を実行し、反復ごとにランダムな間隔でスリープ状態になります。ロジックは次のとおりです。
今私の問題は、デバイスがスリープ状態になるとすぐに、asynctask もスリープ状態になることです。ネットワーク操作は、時間間隔 (randomNumber) に固執することが非常に重要であり、randomNumber 秒を超えてスリープする余裕はありません (数秒の差は許容できます)。では、デバイスがアクティブな状態でなくても、Thread.sleep の後に asynctask がウェイクアップすることを保証するにはどうすればよいでしょうか? ウェイクロックを使用できると思いますが、while(true) ループがあるため、タスクが永久に実行され続け、バッテリーが消耗する可能性があります。Thread.sleep の前に使用し、ネットワーク操作の後に解放すると、thread.sleep の後にタスクが起きないという同じ問題が発生する可能性があります。では、ここで何ができるでしょうか?
android - バッテリーが最初に低下しているかどうかを判断する方法は?
受信してアクティビティに登録しACTION_BATTERY_LOW
、ACTION_BATTERY_OKAY
これに従っていくつかの動作を変更しました。
しかし、アクティビティが開始されたときの初期状態を知りたいです。現在、私は次のコードでそれを行います:
このコードはあまりにも冗長であり、Android が低いと考えているものとは異なる可能性があります。たとえばstatus==discharging
、telnet に「power ac off」コマンドを発行すると、エミュレーターは を報告しません。「電源ステータス放電」も発行する必要があります。実際のデバイスについてはわかりません。
他に方法はありますか?
android - プッシュ通知でアプリがオフになる
Androidでゲームをやっています。私はgcmプッシュ通知を使用していますが、基本的にプッシュで行っていることは、プッシュに勝者または敗者の値があるかどうか、勝者の値があり、ユーザーが「結果を待っている」画面にいるかどうかを確認することです。アプリは他のアクティビティ画面に移動します (プッシュ値に応じて待機画面または敗者画面)。したがって、スキーマは次のとおりです。
ユーザーが待機画面でプッシュが来ると、プッシュ画面の値に移動します。
Android 4.2.xではすべて完全に動作しますが、4.1.xおよび最も古いバージョン(私がサポートする最後のバージョンは2.3.6です)では、プッシュが来てデバイスがスリープモードになっていると機能しません。この場合( api<16 、プッシュが来るデバイスがスリープモードになっている場合) アプリがオフになり、エラーがオフになるだけでなく、もう一度開始する必要があります。この問題を解決するために、私は次の行を書き、アプリが機能するように強制しましたが、問題は、画面が常にオンになり、スリープモードにならないことです。あなたがその瞬間に遊んでいない場合、バッテリーはすぐに死んでしまいます。新しい実装に関する私の問題のスキーマは次のとおりです。
Android バージョンが 4.1.x 未満で、画面がスリープ モードの場合。プッシュが来て、画面がオン(常に)ユーザーの画面ロック解除を待っています。
私の質問は次のとおりです。API <16でアプリがオフになる理由について何か考えはありますか? 別の実装のアイデアはありますか?
GcmIntentService 内のこの関数は IntentService クラスを拡張し、プッシュ通知に win 値がある場合に実行されます
ありがとうございます
android - Android 画面のウェイクアップは full_wake_lock でのみ機能します
プッシュ通知をリッスンしてアクティビティを作成するサービスがあります。デバイスの画面がオフの場合を除いて、すべてが正常に機能します。望ましい動作は、通知によって画面がロック状態のホーム画面に復帰し、通知が表示されることです。
この動作は、次の方法でのみ作成できます。
ただし、Android はFULL_WAKE_LOCK
FLAG_KEEP_SCREEN_ON を支持して非推奨になっているようです。ただし、バックグラウンド サービスから呼び出されるアクティビティでこれを試しました。
私のログは、このアクティビティが作成されていることを示していますが、画面にはまだこのアクティビティが表示されません。電源ボタンを押すと、ディスプレイにアクティビティが表示され、作成されたことがすぐに証明されます。以下は、私が試したことのいくつかの要約です。
- FULL_WAKE_LOCK (機能しますが非推奨です)
- WindowManager - FLAG_TURN_SCREEN_ON、FLAG_KEEP_SCREEN_ON (動作しません)
- Google WakefulBroadCastReceiver (動作しません)
に代わるものはありますFULL_WAKE_LOCK
か?
android - Wake Lock のテスト方法
私はかなり複雑なアプリケーションに取り組んでおり、必要に応じてアラームを使用してデバイスを起動し、タスクが終了するまでウェイクロックを取得しています。これは、コード内のさまざまな場所で発生します。私の論理が正しいと確信していますが、それを適切にテストするのは非常に困難です。
ADB は独自のウェイクロックを保持しているようです。
すべてのウェイクロック (システム全体) が解放され、デバイスが実際にスリープ状態になっているかどうかをテストするにはどうすればよいですか?