创建在屏幕关闭时运行的应用

时间:2016-10-03 16:17:28

标签: android

我正在尝试创建一个健身应用程序来监控我采取的步骤。我已经测试了近7天了,我真的很难实现这一目标。

到目前为止,我设法创建了在屏幕打开时运行的代码,但在1-3分钟后屏幕关闭后它将停止运行。我的代码每1分钟,或10秒或1秒只保存一个单词,我测试了所有3种配置。

我尝试使用以下内容:

  • AlartManager(所有差异警报)
  • WakefulBroadcastReceiver
  • 广播接收器
  • 服务(StartForeground)
  • 唤醒锁
  • 将我的应用添加到白名单中,以便"打盹模式"在三星设备上不会相互影响。
  • 要从电池优化中完全删除应用

我的PC上有10多个不同的例子,所有这些例子都按照描述进行了预处理。所以我会尝试一种不同的方法,并提出一个简单直接的问题。

测试设备

HTC M8一款Android v6.0.1

三星Galaxy s6优势Android v6.0.1

问题

我想要的只是在屏幕为黑色时运行的代码,也是在30分钟或更长时间后运行的代码。不只是1-3分钟。它似乎比单指平衡更具挑战性: - )

任何人都可以帮我一些代码,以便我可以朝着正确的方向前进吗?

很抱歉没有在这个问题上发布实际代码,我觉得这是不合适的,因为我尝试了很多东西,这篇文章将是67卷轴: - )

先前的问题

如果你想看一些我之前创建的代码,以便在这里找到我想要的帖子。 Android OS shuts down the Wakelock + AlarmManager after a few minutes

2 个答案:

答案 0 :(得分:0)

您可以使用这样的执行程序执行此类操作:

    scheduler = Executors.newSingleThreadScheduledExecutor();

    scheduler.scheduleAtFixedRate
            (new Runnable() {
                public void run() {
                   // your stuff goes here
                }
            }, 0, 10, TimeUnit.SECONDS);

答案 1 :(得分:0)

我有类似的东西,我的方法是在服务或服务意图上处理这个问题。服务本身安排一个AlarmManager,以便下次必须执行它,这样每当服务启动时,意图就会被处理,最后只会在下次再次执行它时设置警报。

问题在于Android如果是重复警报或者彼此之间的时间表太短,则不会太喜欢这种方法。如果你有一个每15分钟左右运行的东西,它就可以了。