Ответ 1
android.provider.Settings.Global.getInt(getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0);
android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.AUTO_TIME, 0);
Мне нужно проверить, включена ли "Автоматическая дата и время" в устройстве Android. Если он не включен, мне нужно отобразить всплывающее окно, в котором оно не включено.
Можно ли достичь. Если возможно, как проверить включен или нет?
android.provider.Settings.Global.getInt(getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0);
android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.AUTO_TIME, 0);
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;
}
}
if(Settings.Global.getInt(getContentResolver(), Global.AUTO_TIME) == 1)
{
// Enabled
}
else
{
// Disabed
}
Я хотел бы отметить, что можно обмануть (я просто сделал это на Samsung Galaxy S4, Android 5.0.1):
Готово сегодня:
Время Unix: 1129294173
Дата: 14102005 024933
является автоматическим? 1 (с использованием android.provider.Settings.Global.getInt(getActivity(). getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0))
И сегодня определенно не 14 октября 2005
В основном это делается так, что пользователи не могут возиться с датой/временем телефона и необходимы для таких приложений, как Candy Crush или других приложений для лицензирования, которые должны перестать работать (даже в автономном режиме) если истечет определенный период времени