如何检查"自动日期和时间"是否启用?

sac*_*chi 21 datetime android

我需要检查在Android设备的"自动日期和时间"是否启用.如果未启用它,我需要显示其未启用弹出.

是否有可能实现的.如果可能,如何启用或不启用?

vel*_*lis 43

API 17及更高版本的链接

android.provider.Settings.Global.getInt(getContentResolver(), android.provider.Settings.Global.AUTO_TIME, 0);
Run Code Online (Sandbox Code Playgroud)

API 16及更低版本的链接

android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.AUTO_TIME, 0);
Run Code Online (Sandbox Code Playgroud)

  • 但仅适用于API 17及更高版本. (2认同)
  • 快速搜索显示,在此之前,`android.provider.Settings.System.AUTO_TIME` 是要走的路。 (2认同)

Ham*_*egh 22

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;
    }
}
Run Code Online (Sandbox Code Playgroud)


Flo*_*loG 5

我只想指出,有可能作弊(我刚刚在三星Galaxy S4,Android 5.0.1上做到了):

  • 禁用自动时间
  • 断开互联网连接(飞行模式,无wifi等...)
  • 重新启动电话(否则将检索实时)
  • 设置自动时间

今天完成:

Unix时间:1129294173

日期:14102005 024933

是自动的吗?1(使用android.provider.Settings.Global.getInt(getActivity()。getContentResolver(),android.provider.Settings.Global.AUTO_TIME,0))

今天绝对不是2005年10月14日