创建一个读取传感器数据的应用,然后锁定屏幕

时间:2017-01-15 12:47:50

标签: java android background-process android-sensors light-sensor

我知道这可以通过Tasker和Automate的一些应用程序完成,但我想自己学习。

  1. 创建一个始终在后台运行的应用;
  2. 如何读取传感器数据(在这种情况下,我想使用'环境光传感器');
  3. 锁定屏幕。
  4. 我有Android Studio,一切都准备好制作应用程序并进行编译,但我不知道如何制作这个/从哪里开始。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您提出的问题涵盖了几个非常广泛的主题,很难为它们提供量身定制的答案。有人可以做的最好的事情是提供一些我将尝试的指针 -

  1. 要在Android的后台创建应用,您基本上可以创建Android服务并使其在后台运行。确保它是一个粘性服务,这意味着,如果服务因某种原因被杀死,它将自动重启。如果你想在后台运行这个应用程序(虽然不是一个好主意),你可能会听取一个Boot完成的广播并从广播接收器开始你的背景。以下链接是相关主题 - https://developer.android.com/reference/android/content/BroadcastReceiver.html https://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED https://developer.android.com/guide/components/services.html https://developer.android.com/reference/android/app/Service.html#START_STICKY

  2. 读取环境光传感器数据非常简单。请点击以下链接。虽然链接中显示的所有示例都需要您的应用程序位于前台,但它不是必需的。您基本上可以从后台服务注册传感器数据更改侦听器。监听传感器数据,需要您创建传感器管理器框架服务类的实例并注册特定传感器(在您的情况下为Light)数据更改侦听器 来源页面 - https://developer.android.com/guide/topics/sensors/sensors_overview.html

  3. 我没有以编程方式锁定/解锁锁定的个人经验,但很少提供一些示例代码的链接值得一看 - How to Lock/Unlock screen programmatically? Android screen lock/ unlock programmatically