2

私は、アプリケーションが融合場所は、数時間後に更新の送信を停止

私は絶頂の優先順位のロケーション要求を作成しています...融合した場所が更新の送信を停止して数時間オンのままにすると、ここにあるコード:

LocationRequest = LocationRequest.create() 
       .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
       .setExpirationDuration(TimeUnit.SECONDS.toMillis(LOCATION_TIMEOUT_IN_SECONDS)) 
       .setInterval(LOCATION_UPDATE_INTERVAL); 

ここでは、クライアントとコールバックです:

LocationCallback mLocationCallback = new LocationCallback() { 
     @Override 
     public void onLocationAvailability(LocationAvailability locationAvailability) { 
      super.onLocationAvailability(locationAvailability); 
     } 

     @Override 
     public void onLocationResult(LocationResult locationResult) { 
      super.onLocationResult(locationResult); 
      //Update location 
     } 
    }; 
    mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); 
    mFusedLocationProviderClient.requestLocationUpdates(mLocationRequest, mLocationCallback, null); 

LOCATION_TIMEOUT_IN_SECONDSは5秒ですが、更新は常に実行されていない、私はそれを手動で停止し、起動し、ときに私APPL位置情報が必要です。それはdocumentedのようです。

私は10の後に、ボタンのクリックでActivityから位置情報の更新を要求されたアプリケーションは、1つまたは2つの時間を実行している場合、すべてが正常に動作しますが、私は長い時間のために開いたままにすると、それが動作を停止....

秒は、私は手動で位置更新を停止...私は一晩、それを残している場合、このアクティビティは、この後に...生きて全体の夜であることを意味し、私は再び位置情報の更新を要求するとき、それはどれ...

に来ていません解決策またはアイデア?ドキュメントから

+0

あなたはおそらくある –

+0

位置更新が呼び出されないことが – Nininea

+0

がどのように –

答えて

2
setExpirationDuration(long millis) 

はミリ秒単位で、この要求の期間を設定します。

時間は即座に開始されます(要求がロケーションクライアントに渡されない場合)ので、要求が後で再利用される場合は、このメソッドを再度呼び出します。

ロケーションクライアントは、リクエストが期限切れになると自動的にアップデートを停止します。

中断時間が含まれます。 0より小さい値は許可されますが、要求がすでに期限切れになっていることを示します。

ロケーションアップデートを永久に受信したい場合は、それを削除するか、適切な時刻を設定してください。

+0

ありがとうございます;) – Nininea

関連する問題