問題タブ [android-doze-and-standby]
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 - Doze/Standby 機能は現在地の更新にどのように影響しますか?
部分的なウェイクロックを保持しているホワイトリストに登録されたアプリが、デバイスが Doze 状態またはアプリがスタンバイ状態のときに位置情報の更新を受信できるかどうかを知っている人はいますか?
Android のドキュメント ( http://developer.android.com/training/monitoring-device-state/doze-standby.html ) は、CPU とネットワークが延期されることのみを述べており、位置の更新 (つまり、LocationManager から) への影響については言及していません。 )。これに基づくと、位置情報の更新は Doze/Standby の影響を受けないように思われるため、アプリが (CPU の実行を維持するために) 部分的な wake-lock を保持している場合、アプリは位置情報の更新を受信できるはずです。
これを実装してテストしたところ、部分的なウェイクロックがあり、ホワイトリストに登録されていても、アプリが Doze で位置情報の更新を受信していないように見えることがわかりました。興味深いことに、デバイスを一晩机の上に置いたままウェイクロックでアプリを実行すると、朝にはバッテリーがほとんど空になりましたが、ウェイクロックなしでアプリを繰り返すと、朝にバッテリーがほぼ満タンになりました. そのため、アプリは常に実行されていたようですが、位置情報の更新は受信されていませんでした.
少し追加の背景: アプリはフリートの追跡に使用されるため、バッテリー電源で実行しているときに確実に位置情報の更新を受信するバックグラウンド サービスをアプリで実行する方法があるかどうかを把握しようとしています。
ありがとう!-トム B.
android - マシュマロにDozeを強制する方法は?
すべてが次の 2 つのコマンドを指しているようです。
マシュマロの公式リリースを実行している Nexus 6の指示に従いました。電話をテスト マシンに接続します。doze でテストしたい部分をテストするためのアプリをセットアップしました。画面をオフにします。上記を実行した後battery unplug
、出力が得られないので、動作すると思いますが、実行するたびにdeviceidle step
出力は常にStepped to: ACTIVE
.
問題があるかどうかはわかりませんが、テストしようとしているアプリの特定の機能は、電話を Doze から復帰させるために設定しているアラームです。PendingIntent
予定が切れたときにデバイスを居眠り状態にしたいのですがAlarmManager.setAlarmClock
。デバイスが Doze に入るのを防ぐことはできますか?
android - VoIP アプリの居眠りモードとスタンバイ モード
Android の新しい居眠りモードとスタンバイ モードのサポートを提供したい従来の VoIP アプリがあります。Android の GCM 機能を使用できない独自のメッセージング/シグナリング メカニズムがあります。ドキュメントには、アプリをホワイトリストに登録すると、独自のシグナリング メカニズムを使用し、アプリを Doze モードで動作させ続けることが許可されると記載されています。
setExtract()
また、setRepeating()
現在 XMPP の永続的な接続を維持するために、キープアライブアラームを生成しています。新しいバージョンを追加するsetExactAndAllowWhileIdle
と、次のように述べられています-アラームは15分ごとに最大1回トリガーされます。しかし、12秒間隔ごとに1つ生成する必要があります。私はAndroidのドキュメント、SOの多くのスレッドに目を通し、それに関する記事を見つけました。私が達成したいことは、アプリをホワイトリストに登録し、AlarmManager
の新しい API を使用することによって完全に可能ではないようです。
以前と同じように機能を維持するにはどうすればよいですか? アプリを居眠りモードとスタンバイ モードで維持し、12 秒間隔でアラーム アラートを生成して、接続を維持し、ネットワーク接続を開いたままにしますか?
android - Dozeモードでも機能する繰り返しアラームを設定する方法は?
setExactAndAllowWhileIdle は Doze モードでもアラームを呼び出すことを理解しましたが、setRepeatingAndAllowWhileIdle のようなメソッドがないため、毎日繰り返すようにする方法。
android - Android 6.0 Doze モードでの Alarm Manager の問題
Android 6.0 までは常に動作するアプリを作成しました。アラームが鳴らないのは Doze 機能だと思います。
オプションを処理するために sharedpreferences を使用します。
ここで何が問題なのか手がかりはありますか?
通話をブロックするアプリです。ありがとうございました!
編集: 次のような3つのファイルがあります(さらに...):
android - Android 6.0 の Doze とアプリ スタンバイ モード
Google は、Android 6.0 OS で Doze とアプリ スタンバイ モードを導入しました。
デバイスが取り外されてしばらく使用されていない場合、デバイスはモードに入り、Doze
アプリケーションが一定時間非アクティブのままである場合、そのアプリはStandBy
モードになります (間違っている場合は修正してください)。
- 私たち (開発者) は、デバイスがモードに入ったの
Doze
か、アプリケーションがモードに入ったのかを知ることができStandBy
ますか? どのように?
http://developer.android.com/training/monitoring-device-state/doze-standby.html#whitelisting-casesこのリンクで Google は、デバイスがモード
の場合でも、Voip
またはChat
またはCalling
アプリケーションは動作すると述べています。Doze
Voip
OSはこれがまたはアプリであることをどのように知るようになるのでchat
、モードでも起動したままにします。Calling
Doze
- アプリケーションがモード外のときにメンテナンス タスクを完了するために登録する必要があるコールバックは何
Doze
ですか?
android - GCM 優先度メッセージがアプリを起動しない
Android デバイスでアプリを最適化しています。したがって、私のアプリはバックグラウンドでスリープしていますが、優先度の高い GCM メッセージを受信すると起動するはずです。ここに記載されているように:
優先度高。GCM は優先度の高いメッセージをすぐに配信しようとします。これにより、GCM サービスは可能な場合にスリープ状態のデバイスを起動し、アプリ サーバーへのネットワーク接続を開くことができます。たとえば、インスタント メッセージング、チャット、または音声通話アラートを備えたアプリは、通常、ネットワーク接続を開き、GCM が遅延なくデバイスにメッセージを配信することを確認する必要があります。
そしてここに:
GCM は、優先度の高い GCM メッセージによって Doze およびアプリ スタンバイのアイドル モードで動作するように最適化されています。GCM の優先度の高いメッセージを使用すると、ユーザーのデバイスが Doze になっている場合やアプリがアプリ スタンバイ モードになっている場合でも、アプリを確実に起動してネットワークにアクセスできます。Doze モードまたはアプリ スタンバイ モードでは、システムはメッセージを配信し、アプリにネットワーク サービスへの一時的なアクセスと部分的なウェイクロックを与えてから、デバイスまたはアプリをアイドル状態に戻します。
このコードを使用して、C# サーバーから Android デバイスに優先メッセージを送信します。
しかし、私のアプリは起きません。デバイスのロックを解除しても。
最適化されたリストにあるためにデバイスがアプリを「ブロック」すると、アプリはそれ以上メッセージを受信しないことがわかりました。システムがアプリを完全に強制終了しているようで、GCM メッセージを受信しません。Lollipop を搭載した Galaxy S4 を使用しています。何か助けはありますか?