gpt4 book ai didi

android - 如何使用唤醒锁防止 onStop

转载 作者:行者123 更新时间:2023-11-29 01:23:48 26 4
gpt4 key购买 nike

我的应用程序从服务接收消息,它必须对其执行一些处理。在此之前,它必须连接到另一个服务 (GoogleApiClient)。发生的情况是应用程序调用 onStop 之前 GoogleApiClient 返回连接状态,因此我不处理该消息。

我在开始等待 googelapiclient onConnected 之前获取了一个唤醒锁,但它仍然到达了 onStop!

也许我误解了唤醒锁。这就是我所做的:

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelock");

wakeLock.acquire();

无论如何,我对使用这些唤醒锁感到不安。如果出现问题,它可能永远不会发布。

任何建议表示赞赏。

最佳答案

WakeLock 用于保持手机本身运行,而不是进入休眠或打瞌睡模式。它不会阻止您的 Activity 停止 (onStop) 或完全关闭 (onDestroy)。运行时间超过 Activity 的任务应停止或忽略结果,因为它们影响的 View 可能不再可用。

如果您有更长时间运行的任务,您需要使用一个 Service,它会在后台继续运行。 此处 是您可以使用WakeLock 的地方,这样当用户关闭屏幕时服务不会停止并且服务可以完成其执行。

关于android - 如何使用唤醒锁防止 onStop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35185163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com