服务检查设备状态

时间:2014-07-29 20:36:41

标签: java android background

我需要创建一个Android服务:

  • 每当屏幕打开时启动(无论是否处于启动时间)
  • 每20分钟发送一次通知(如果屏幕已开启)
  • 在屏幕关闭时停止

我读过的每个教程都使用了一个活动,但我需要将它作为一项服务,因为除了用户想要更改设置之外,该应用程序不会被运行。文档说我需要一个IntentService,但我无法手动停止,我不能使用服务,因为它是一个长时间运行的操作。我试过一个报警管理器,但它没有用,我甚至懒得给你看代码,因为我真的不明白它。我不知道如果屏幕是否打开,如何进行服务检查,如果我使用BroadcastReceiver它将不会被立即处理,所以我只是被卡住了

1 个答案:

答案 0 :(得分:0)

实施您的要求。你需要3件事,比如Service,BroadcastReceiver& AlarmManager:

  1. AlarmManager [每20分钟后会触发]

  2. 服务[会显示通知,因为系统会在每20分钟后为您的特定消息发出通知]

  3. BroadcastReceiver [将从启动到关闭检查屏幕开/关权限]

  4. 请参阅以下链接:

    1. http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

    2. http://androidexample.com/Screen_Wake_Sleep_Event_Listner_Service_-_Android_Example/index.php?view=article_discription&aid=91&aaid=115