【问题标题】:partial wakelock for 3G in AndroidAndroid 中 3G 的部分唤醒锁
【发布时间】:2011-01-07 16:55:47
【问题描述】:

我有一项将文件上传到服务器的服务。我在上面安装了 wifilock,但如果服务使用 3G,我是否需要部分唤醒锁?

【问题讨论】:

  • 请分享您的部分唤醒锁定代码。因为我有问题。

标签: android networking connectivity 3g


【解决方案1】:

是的。否则,设备可能会在您的上传过程中进入休眠状态。

【讨论】:

  • 设备确实睡着了,但我测试了应用程序半小时(从 USB 拔下),它一直在上传,所以仍然有点困惑,但我想为了安全起见,我应该买锁?
  • @Tabish:真的吗?我知道 3G 连接上的传入数据包会唤醒手机。这可能有助于让您的设备在这种情况下保持清醒。不过,为了安全起见,我会使用WakeLock
  • 如果需要 CPU 继续运行,则需要持有唤醒锁。许多其他的东西可以保持唤醒锁,而这些唤醒锁恰好可以让你保持运行,但如果你自己不保持唤醒锁,你无法保证是否正常工作。
  • wifi不应该也需要这个吗?我获得了一个用于 wifi 的 wifilock,但不是部分唤醒锁,它工作正常
  • @nAkhmedov:不。那些应该永远打开。
【解决方案2】:

WakeLock 是一种保持屏幕开启的低效方式。而是使用 WindowManager 来发挥作用。以下一行就足够了 WakeLock。此功能不需要 WakeLock 权限。这段代码也比 WakeLock 高效。

getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);

您无需手动释放 WakeLock。此代码将允许 Android 系统自动处理锁定。当您的应用程序处于前台时,WakeLock 将被保持,否则 android 系统会自动释放锁。

【讨论】:

  • 要使用 Wifi,您需要 WifiLock 和相关权限。
  • 为什么要在文件上传期间保持屏幕开启??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
相关资源
最近更新 更多