Я хочу поэкспериментировать с iBeacon на Android. Похоже, что AltBeacon — лучший инструмент для использования. Я читал, что если я подклассифицирую приложение своего приложения на это, я могу заставить свое приложение работать, даже если после этого приложение будет уничтожено.
Что делать, если я хочу, чтобы мое приложение контролировало только то, вошел ли пользователь в систему? Приложение будет запускаться при каждом запуске приложения, не так ли? Как запустить BootstrapNotifier в приложении после входа в систему и не запускать его, если пользователь не вошел в систему?
@Override
protected void onPostExecute(final Boolean success) {
if (success) {
//algorithm to make altbeacon run in the background, even after the app killed
} else {
//if failed
}
}
Итак, вот предлагаемое решение:
public class BeaconReferenceApplication extends Application implements BootstrapNotifier {
// OTHER CODE
public void onCreate() {
super.onCreate();
if (loggedin) {
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
Region region = new Region("backgroundRegion", null, null, null);
regionBootstrap = new RegionBootstrap(this, region);
BeaconManager.getBeaconSimulator()).createTimedSimulatedBeacons();
}
}
// OTHER CODE
}
public class LoginACtivity {
// OTHER CODE
public void onClick {
if (username == TRUE && password == TRUE) {
// SINCE THE USER LOGGED IN, HOW DO I MAKE MY APP TO START ALWAYS SCAN EVEN AFTER REBOOTING AS LONG THE USER ISN'T LOGGING OUT?
}
}
// OTHER CODE
}
public class MainActivity {
// OTHER CODE
private void logout {
// SINCE THE USER CLICK LOG OUT BUTTON, HOW DO I MAKE MY APP TO STOP SCANNING EVEN AFTER REBOOTING UNTIL THE USER LOGGING IN AGAIN?
}
// OTHER CODE
}
Гарантирует ли этот код, что мое приложение всегда будет сканировать маяк, только если пользователь вошел в систему, даже после перезагрузки, а приложение не запущено?
SharedPreferences
илиboolean
для хранения значения, когда пользователь вошел в систему. Если вы вошли в систему, начните отслеживать и обновлять значениеSharedPreferences
или это логическое значение. - person hrskrs   schedule 20.03.2015