【问题标题】:Continue performing a function while Android phone is asleep?在 Android 手机处于睡眠状态时继续执行某项功能?
【发布时间】:2011-06-07 14:11:33
【问题描述】:

我想创建一个 Android 应用程序,它需要每 30 秒左右运行一次函数,即使手机进入睡眠状态并且用户没有使用它也是如此。这是否可以在 Android 中通过服务来实现,或者甚至在手机进入睡眠状态时它们会关闭?

【问题讨论】:

    标签: android


    【解决方案1】:

    不要。根本不要这样做。它会很快耗尽电池。

    如果您需要它来实现您并且只有您自己会运行的专用功能,您可以获取 PARTIAL_WAKE_LOCK。但是不要在市场上投放任何真正做到这一点的东西!我会考虑您的应用恶意软件。

    唤醒锁的替代方法是使用 AlarmManager 每 n 秒唤醒一次。但同样,如果您每 30 秒甚至每 5 分钟执行一次此操作,您的应用就是恶意的。

    【讨论】:

    • @EboMike 你应该修改你的答案。他没有说明他的应用程序将被使用的上下文。这可能是一个仅在 Android 可以完全满足的特定需求范围内使用的业务应用程序。您可以说,您可以使用 WAKE_LOCK,但请注意,它会快速耗尽电池电量,如果在商业环境中使用,可能会被视为恶意软件。
    • 我在第二段中提到,如果这是一个专门的应用程序,它是一个选项。我只是想明确一点,公开可用的应用程序不应该这样做。
    • 在后台运行服务的应用程序会消耗什么样的电池电量?会不会比在导航模式下说谷歌地图差很多?即使康纳在应用程序的描述/用户界面中明确表示,用户真的会对应用程序皱眉吗?
    • 是的,我正计划让用户启动该功能,并附上关于电池寿命的免责声明。应用程序的概念取决于这样做的概念,这不是未经用户许可我会做的事情。它基本上允许用户每隔一定时间跟踪他们手机的传感器数据,其背后的想法更简洁,但从广义上讲,这就是它的作用。
    • @Groimx:导航模式下的谷歌是一个绝对的电池接收器。手机一用就发热!请记住,大多数用户可以说是简单的。除非你用鲜红色的字母把它说得很清楚,否则你会收到很多抱怨。无论如何,不​​要从我这里拿走它,扫描安卓谷歌群组。 IIRC 有一个来自 Dianne 的帖子说得很清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多