gpt4 book ai didi

android - 如何知道 Intent ACTION_TIME_CHANGED 是否来自直接用户交互

转载 作者:行者123 更新时间:2023-11-29 20:54:43 26 4
gpt4 key购买 nike

如何知道 Intent ACTION_TIME_CHANGED 是否来自直接用户交互。

我尝试检查 Intent 中的标志 FLAG_FROM_BACKGROUND,但始终为 0,即使 Intent 是由同步网络触发的。

有什么帮助吗?

谢谢!

最佳答案

我真的不知道它是否有效,我目前无法尝试,但是有设置 API,您可以获得一些信息。我不确定您是否可以在没有 root 的情况下阅读此内容,但请尝试一下。

  String isAutoTime = Settings.System.getString(
getContentResolver(),
Settings.System.AUTO_TIME);

boolean autoTimeEnabled = false;

if(isAutoTime.equals("1")){

autoTimeEnabled = true;

}
//usually You don´t need this else statement, because the boolean is
//created as a flase boolean. Just want to show how it works
else if(isAutoTime.equals("0")){

autoTimeEnabled=false;

}

自 API 17 以来,Settings.System.AUTO_TIME 已弃用,因此您必须采用 Settins.Global.AUTO_TIMESettings.Global.getString()

如 Settings.Global 中的 API 17 中所述:

应用程序可以读取这些但不允许写入

所以我觉得检测是否启用了网络获取时间应该是没有问题的。如果可行,您可以使用 ACTION_TIME_CHANGED 处理您的 BroadCast,并且当时间更改时,检查是否在设置中启用了此选项。这样您就可以知道它是否被用户或系统更改了。

无论如何,这只是一个想法,我现在无法测试它是否真的有效,因为我这里没有 IDE。

关于android - 如何知道 Intent ACTION_TIME_CHANGED 是否来自直接用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28110157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com