【问题标题】:How to identify when the Android device was used last time如何识别上次使用 Android 设备的时间
【发布时间】:2013-04-27 12:10:13
【问题描述】:

我正在 Android 中编写一段代码,该代码将尝试识别用户最后一次使用 Android 设备的时间。使用我的意思是执行的任何操作。如果该设备根本没有使用让我们说一整天,我想在我正在运行的服务中为它执行一些操作。所以基本上当设备没有被使用(空闲状态)时,我想识别这一切。

在 Android 中是否有可能实现这一点?我该如何进一步满足此要求。?

任何指针都有助于识别设备未使用 X 天(或数小时)并从空闲状态对其执行一些操作。

谢谢!

【问题讨论】:

  • SCREEN_ON(=使用)和SCREEN_OFF(=空闲)的广播事件是否足够准确?然后检查thinkandroid.wordpress.com/2010/01/24/… ...
  • 您好 Trinimon,感谢您的回复。我们可以在设备处于空闲模式时使用服务进行处理吗?即使我使用 SCREEN_OFF 广播事件来标记手机空闲状态的开始,但我将如何发现 x 时间已经过去了。我们可以在服务设备的空闲状态下进行处理吗?
  • 您可能会在服务中进行一些处理,是的,您可以。 使用时间 可以是从 SCREEN_ONSCREEN_OFF 的时间(您可以相应地存储时间戳 - 没问题)。但是,当然也有一些方面让它有点模糊,想象一下:如果用户将手机放在旁边,可能还需要一段时间才能关闭显示屏;或者:如果用户接到电话并将手机移到耳边,系统会关闭显示。

标签: android android-intent service alarmmanager


【解决方案1】:

请关注this tutorial 开启/关闭屏幕。希望对您有所帮助。

如何识别上次使用 Android 设备的时间?

当第一次屏幕打开时,您可以读取系统当前时间并保存在共享首选项中,从第二次开始(系统当前时间 - 读取共享首选项中的最后一个孔值)并转换这些毫秒到时间。

【讨论】:

  • 感谢您的回复。我们可以在设备处于空闲模式时使用服务进行处理吗?即使我使用 SCREEN_OFF 广播事件来标记手机空闲状态的开始,但我将如何找到从这一点过去的 x 时间。我们可以在服务设备的空闲状态下进行处理吗?
  • 我的要求是我需要找到上次使用设备的时间,并在 X 时间过去后执行一些操作。这并不意味着当时将使用该设备。我不能依靠“屏幕开启”来查找时差并执行操作。
  • 好的,在这种情况下,您可以使用警报管理器的概念,您可以设置屏幕开启的 X 时间量,如果屏幕在完成您的 X 时间量之前重新开启,那么您可以重新安排警报管理器,否则您可以触发。
猜你喜欢
  • 2013-04-10
  • 1970-01-01
  • 2012-01-15
  • 2015-05-12
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多