Сохраняются ли геозоны в андроиде после перезагрузки устройства

m написание приложения, которое должно использовать геозону, когда кто-то входит / выходит из нескольких сайтов в течение срока службы устанавливаемого приложения.

Моя реализация геозоны (очень похожая на вторую ссылку ниже) работает нормально, когда я впервые устанавливаю приложение, как при входе / выходе из геозон, так и при использовании фиктивных местоположений для имитации, пока устройство не будет перезагружено.

При перезагрузке ни фиктивные местоположения, ни физическое перемещение в геозону и выход из нее, по-видимому, не вызывают событие и инициируют ожидающее намерение для моего широковещательного приемника.

Я посмотрел на следующие три ссылки, а также прочитал довольно много документано я могуЯ не могу найти однозначного ответа на этот вопрос в любом месте, где прямо сказано, что зарегистрированные геозоны сохраняются или не сохраняются после перезагрузки.

Вот ссылки, которые я рассмотрел на переполнение стека:Выжили ли геозоны Android после перезагрузки?

Android Geofence со временем прекратит получать намерения перехода

Будут ли геозоны Android оставаться активными до тех пор, пока они не будут удалены / истекли или только до запуска PendingIntent?

Если кто-то знает ответ на вопрос, останавливаются ли они после перезагрузки, или имеет обходной путь, если они этого не делают, это будет высоко ценится! Моя последняя надежда в настоящее время - создать прослушиватель для BOOT_COMPLETED и перерегистрировать их при запуске, но id предпочитает делать это только в случае крайней необходимости.

Заранее большое спасибо!

Редактировать: Хотя я не нашел окончательного (в письменном виде) ответа, я почти уверен, что опубликованный Мистером ТониК правильный и выбрал это решение. Большое спасибо TonyC!

Если кто-то захочет увидеть решение, которое у меня есть, я прислушиваюсь к завершению загрузки при загрузке устройства, а затем заново регистрирую все необходимые мне геозоны.

Это в манифесте:





    
        
    

а затем создайте для него широковещательный приемник, который будет перерегистрировать геозоны при загрузке:

package com.YOUR.PACKAGE.geofence;

import android.app.PendingIntent.CanceledException;
import android.content.Context;
import android.content.Intent;
import android.support.v4.content.WakefulBroadcastReceiver;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.location.Geofence;

public class BootCompleteReceiver extends WakefulBroadcastReceiver
{
    private static final String TAG = "BootCompleteReceiver";

    @Override
    public void onReceive(Context context, Intent intent)
    {
        //Do what you want/Register Geofences
    }
}

Это'Также стоит отметить, что если вы находитесь внутри геозоны при загрузке, это обычно вызывает геозону.с намерением в ожидании после регистрации геозоны.

Так, если, например, геозона запускает приложение, то при загрузке устройства, которое оказывается в геозоне, оно также откроет приложение, как только получатель широковещательной загрузки завершит регистрацию геозоны, и службы определения местоположения будут работать там, где вы являются.

Надеюсь, что это кому-то поможет.

Ответы на вопрос(2)

Ваш ответ на вопрос