問題タブ [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 - Android AlarmManager.setExactAndAllowWhileIdle() および WakefulBroadcastReceiver 一部の新しく製造された低価格デバイスで動作しない
この質問は何度も聞かれると思いますstackoverflow
が、それでも多くの人が解決に苦労しています。
私のAndroidアプリでは、現在の場所を取得してサーバーに送信するために、30分ごとにデバイスを起動する必要があります。このために、メソッドとを使用AlarmManager
しました。samsung、LG(Nexus)、Sony、Panasonic、lenovo、Motorola、Micro max などのほとんどすべての標準/人気デバイスで正常に動作します....しかし、他のいくつかのデバイスは、主に中国のデバイスをサポートしていないか、デバイスのウェイクアップを許可できませんで居眠りモードから。特定の間隔でアラーム マネージャを起動できないデバイスでテストしました。setExactAndAllowWhileIdle()
WakefulBroadcastReceiver
setExactAndAllowWhileIdle()
leeco letV (Android OS 6.1)
私が以下に言及した私のコード部分:
上記のサービスが呼び出されるたびに、30分後に次のアラームが設定されます。
leeco letV
[設定] > [バッテリー] > [ウェイクアップの調整] > [両方のオプションを無効にする] などのデバイスから手動で設定を変更したためです。有効にすると、バッテリーはアプリからの強制ウェイクアップを無視できます。
私の質問:
そのような種類のデバイスで何が起こったのですか?特定の時間間隔でアラームを発することを許可しないのはなぜですか?
Gionee s plus のような一部のデバイスでは、アラームが 2 ~ 3 分遅れて作動します...なぜですか?
android.net.conn.CONNECTIVITY_CHANGE
ネットワーク接続が変更されたときにリッスンするブロードキャスト レシーバー .....Gionee s plus のような一部のデバイスで機能しない場合はどうすればよいですか?さまざまなメーカーのバッテリー最適化設定には多くのバリエーションがあります....これに対する解決策がある場合、アプリのバックグラウンド サービスに害を及ぼす可能性があります。
android - デバイスが居眠りモードのときのネットワーク障害
Doze モードについて疑問があります。Doze モードで GCM 通知を受信した場合、アプリがネットワーク サービスにアクセスできる期間はどれくらいですか? 再び居眠りモードに入るのを防ぐために、部分的なウェイクロックを取得できますか? デバイスが居眠りモードに入るか居眠りモードを終了するかをログで確認するにはどうすればよいですか?
私のアプリには、GCM 通知を受信したときに SIP 登録の SRV ルックアップを行う pjsip ネイティブ ライブラリがあります。GCM 通知を受信するとデバイスが起動しますが、SRV ルックアップを試みると、「操作が許可されていません」というエラーが表示されます。
この問題は Doze モードでのみ発生します
誰か助けてくれませんか
android - Doze は Marshmallow デバイスの minSdk 21 を使用するアプリに適用されますか?
私のアプリには minSdkVersion 21 targetSdkVersion 25 compileSdkVersion 25 があります。いくつかの重要な定期チェックに AlarmManager を使用しています - これはクライアントの要件です。チェックがスキップされたり遅れたりすることを望んでいません。
Marshmallow または Nougat デバイスで Doze がアプリとこれらのアラームにどのような影響を与えるかはわかりません。より正確には、OS は SDK21 ルールを適用してアプリに Doze をスキップしますか、それとも OS は Doze を強制しますか?
Marshmallow が Doze を強制する場合、これらのアラームに setAndAllowWhileIdle() を使用したいのですが、minSDK が 21 であるため使用できません。
どんな助けでも大歓迎です!
android-doze-and-standby - isIgnoringBatteryOptimizations が Samsung で機能しない
新しいアプリをテストしていますが、
isIgnoringBatteryOptimizations
特徴。
アプリが起動すると、アプリが Doze のホワイトリストに登録されているかどうかがチェックされます。そうでない場合、アプリは生きている必要があり、強制終了できないため、ユーザーにメッセージを表示します。
いくつかのデバイスとエミュレーターでうまく機能しますが、テスト用に 2 つの SAMSUNG デバイスを使用しています。その場合、isIgnoringBatteryOptimizations の値は常に false です。ユーザーが何をしても (居眠りの無視リストにアプリを追加するなど)、アプリは常に最適化されていると見なされるため、常に警告メッセージが表示されます。これらの Samsung デバイスの何が問題なのか、何か考えはありますか?
これは私が使用するコードです:
「b」は、私がテストした Samsung デバイスでは常に false です。
android - oppo - coloros、vivo-funtouch os、Xiomi-MIUI os などのカスタマイズされた OS で新しくリリースされたデバイスで、バックグラウンド サービス/アラームを保護する方法は?
私は30分ごとにアラームが鳴り、何かをしていますWakefulBroadcastReceiver
。IntentService
私はすでに居眠りモードをsetExactAndAllowWhileIdle()
メソッドで処理しています。
最近市場に投入された、カスタマイズされた OS を備えた一部の新しいスマートフォンには、Android OS に基づいて独自のカスタマイズされた OS があります。oppo の color os、vivo の funtouch os、xiomi の MIUI os のように。OSには、メモリをクリアする機能があります。ワンタッチ クリア メモリ オプションがあります。たとえば、ユーザーが最近のアプリ リストをクリアするか、最近のアプリ リストからアプリを削除すると、アプリのすべてのバックグラウンド サービスとすべてのアラームが強制終了されます。
これらの新しい OS を使用するにはどうすればよいですか?