Я хочу экспериментировать с iBeacon на Android. Похоже, что AltBeacon - лучший инструмент для использования. Я прочитал, что если я подклассию приложение моего приложения до this, я могу сделать свое приложение работоспособным, даже несмотря на то, что приложение будет убито после этого.Как сделать монитор 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' или что логическое – hrskrs
Так что вы хотите. сканировать маяки автоматически после загрузки, если пользователь * ранее * вошел в систему? Или вы хотите только сканировать маяки после загрузки, если пользователь снова войдет в систему после загрузки? – davidgyoung
@ davidgyoung Я хочу, чтобы мое приложение автоматически сканировало маяки после загрузки, если пользователь ранее вошел в систему. Если пользователь ранее не вошел в систему, я хочу, чтобы мое приложение не сканировало для маяков. Поэтому, в основном, я хочу, чтобы приложение сканировалось ТОЛЬКО, если пользователь находится в состоянии входа в систему. Я уже использую SharedPreferences для отслеживания, если пользователь уже вошел в систему или нет, так что если пользователь уже зарегистрировался ранее, приложение будет пропустить раздел входа в систему даже после перезагрузки. – stackex