私のアプリはバックグラウンドで長時間実行し、定期的にデータをサーバーに送信する必要があります。私はAlarmManagerを試しましたが、ドーズモードでは制限されています。次に私はフォアグランドサービスだと思った。フォアグラウンドサービスの実行中にデバイスがドーズモードに入る
フォアグラウンドサービスの実行中にデバイスがドーズモードに入るかどうかを確認します。
デバイスがドーズモードに入ると、フォアグランドサービスの実行中にインターネット接続が制限されますか?かなりよく私の作品
私のアプリはバックグラウンドで長時間実行し、定期的にデータをサーバーに送信する必要があります。私はAlarmManagerを試しましたが、ドーズモードでは制限されています。次に私はフォアグランドサービスだと思った。フォアグラウンドサービスの実行中にデバイスがドーズモードに入る
フォアグラウンドサービスの実行中にデバイスがドーズモードに入るかどうかを確認します。
デバイスがドーズモードに入ると、フォアグランドサービスの実行中にインターネット接続が制限されますか?かなりよく私の作品
は、失われることはありませんいくつかのエミュレータとAndroid 6.0と7.1実際のデバイス、ネットワーク接続で連続運転の数時間をテストした:主な活動onPauseで
を、私は部分的なWakeLockとIを取得しますSTARTFOREGROUND_ACTIONインテントでサービスを開始すると、サービスはstartForegroundを呼び出し、通知を表示します。活動に
WakeLockが解放されるonResume、サービスはSTOPFOREGROUND_ACTIONの意図を停止し、サービス自体はstopForeground & stopSelfを呼び出します。
そしてまた、そのアクティビティがバックキーを押し上で破壊される回避:もちろん
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
私は定期的に尋ねる
私のコードを背景porcessingを停止し、活動を終了するメニューオプションを提供インターネットサーバーがアクティビティに配置され、タイマーが使用されます。
希望すると助かります
私はここであなたの解決策を得られませんでした。 Android Dozeモードは、すべてのウェイクロックを無視します。 – jarly
アクティブなフォアグラウンドサービス+通知では私のためではありません。私はすでにいくつかの実際のデバイスでテストしました。 –
ここで詳しく説明します:https://stackoverflow.com/questions/37869201/how-does-doze-mode-affect-background-foreground-services-with-without-partial-f –