問題タブ [doze]
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 11 でバックグラウンド サービスを維持する
エンタープライズ モビリティ管理 (EMM) アプリを作成しました。数年前に立ち上げたとき、私の顧客ベースにはおそらく Android 8 未満のデバイスがありました。最近アプリを更新する必要があり、顧客ベースは現在 Android 11 デバイスを使用しています。
問題:
常に実行されている BG サービスがあります。500 からカウントダウンし、0 になると、EMM ポータルの状態を更新する Web サービスを開始します。ポータルは、顧客が現場でデバイスを確認するために使用するものです。
私の BG サービスの ondestroy メソッドでは、受信機を使用して破壊されたサービスを再起動するブロードキャストを送信し、サービスを存続させます。
私の顧客は、データ使用量やバッテリー レベル情報などの情報を送信するため、このサービスが生きていることを必要としています。
私が試したこと:
Android Doze がアプリをスリープ状態にすることを理解しています。ソリューションを使用して、Doze からホワイトリストに登録するコマンドをデバイスに送信しようとしましたが、これは機能しません。
代わりに JobIntentService を使用してみましたが、これも機能しませんでした。
注意。私のアプリはデバイス管理アプリであるため、フォアグラウンドにある必要はなく、実際にはそうすべきではありません。デバイス管理者も Doze から免除されているようです。
エラー:
このサービスを Android 11 のバックグラウンドで実行し続ける最善の方法は何ですか?
ここに私のコードがあります:
.
.
android - Androidでインターネット接続を長時間維持するにはどうすればよいですか?
強制終了できない、または非常に長く存続する websocket 接続が必要な内部アプリを作成しています。どうすればそれを達成できますか?フォアグラウンド サービスで動作させたり、バッテリーの最適化を無効にしたりしていますが、動作していないようです。すべての標準オプションを試しました。
コマンドadb shell dumpsys deviceidle whitelist +PACKAGE
も役に立たないようです。
電話を応援し、アプリをシステムアプリとして設定することは役に立ちますか? バッテリーの最適化などを制御できるエンタープライズ カスタム ROM はありますか?