【发布时间】:2014-05-29 07:39:42
【问题描述】:
我需要检查android设备中的“自动日期和时间”是否启用。如果未启用,我需要显示未启用的弹出窗口。
有没有可能实现。如果可能,如何检查是否启用?
【问题讨论】:
-
AFAIK,SDK 中没有公共方法可以做到这一点。
我需要检查android设备中的“自动日期和时间”是否启用。如果未启用,我需要显示未启用的弹出窗口。
有没有可能实现。如果可能,如何检查是否启用?
【问题讨论】:
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;
}
}
【讨论】:
我只想指出,作弊是可能的(我只是在三星 Galaxy S4,Android 5.0.1 上做过):
今天完成:
Unix 时间:1129294173
日期:14102005024933
是自动的吗? 1(使用 android.provider.Settings.Global.getInt(getActivity().getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0))
今天绝对不是 2005 年 10 月 14 日
【讨论】:
if(Settings.Global.getInt(getContentResolver(), Global.AUTO_TIME) == 1)
{
// Enabled
}
else
{
// Disabed
}
【讨论】:
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.provider.Settings.System.AUTO_TIME 是要走的路。