2017-06-30 10 views
1

私のアプリはバックグラウンドで長時間実行し、定期的にデータをサーバーに送信する必要があります。私はAlarmManagerを試しましたが、ドーズモードでは制限されています。次に私はフォアグランドサービスだと思った。フォアグラウンドサービスの実行中にデバイスがドーズモードに入る

フォアグラウンドサービスの実行中にデバイスがドーズモードに入るかどうかを確認します。

デバイスがドーズモードに入ると、フォアグランドサービスの実行中にインターネット接続が制限されますか?かなりよく私の作品

答えて

0

は、失われることはありませんいくつかのエミュレータとAndroid 6.0と7.1実際のデバイス、ネットワーク接続で連続運転の数時間をテストした:主な活動onPauseで

を、私は部分的なWakeLockとIを取得しますSTARTFOREGROUND_ACTIONインテントでサービスを開始すると、サービスはstartForegroundを呼び出し、通知を表示します。活動に

WakeLockが解放されるonResume、サービスはSTOPFOREGROUND_ACTIONの意図を停止し、サービス自体はstopForeground & stopSelfを呼び出します。

そしてまた、そのアクティビティがバックキーを押し上で破壊される回避:もちろん

@Override 
    public void onBackPressed() { 
     moveTaskToBack(true); 
    } 

私は定期的に尋ねる

私のコードを背景porcessingを停止し、活動を終了するメニューオプションを提供インターネットサーバーがアクティビティに配置され、タイマーが使用されます。

希望すると助かります

+0

私はここであなたの解決策を得られませんでした。 Android Dozeモードは、すべてのウェイクロックを無視します。 – jarly

+0

アクティブなフォアグラウンドサービス+通知では私のためではありません。私はすでにいくつかの実際のデバイスでテストしました。 –

+0

ここで詳しく説明します:https://stackoverflow.com/questions/37869201/how-does-doze-mode-affect-background-foreground-services-with-without-partial-f –

関連する問題