Как проверить "Автоматическая дата и время" включена или нет?

Мне нужно проверить, включена ли "Автоматическая дата и время" в устройстве Android. Если он не включен, мне нужно отобразить всплывающее окно, в котором оно не включено.

Можно ли достичь. Если возможно, как проверить включен или нет?

Ответы

Ответ 2

public static boolean isTimeAutomatic(Context c) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        return Settings.Global.getInt(c.getContentResolver(), Settings.Global.AUTO_TIME, 0) == 1;
    } else {
        return android.provider.Settings.System.getInt(c.getContentResolver(), android.provider.Settings.System.AUTO_TIME, 0) == 1;
    }
}

Ответ 3

if(Settings.Global.getInt(getContentResolver(), Global.AUTO_TIME) == 1)
{
    // Enabled
}
else
{
    // Disabed
}

Ответ 4

Я хотел бы отметить, что можно обмануть (я просто сделал это на Samsung Galaxy S4, Android 5.0.1):

  • Отключить автоматическое время
  • Отключиться от интернетов (режим самолета, без Wi-Fi и т.д.)
  • перезагрузите телефон (в противном случае извлекается реальное время)
  • установить автоматическое время на

Готово сегодня:

Время Unix: 1129294173

Дата: 14102005 024933

является автоматическим? 1 (с использованием android.provider.Settings.Global.getInt(getActivity(). getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0))

И сегодня определенно не 14 октября 2005

Ответ 5

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