不推荐使用Android FULL_WAKE_LOCK,但不推荐使用PARTIAL_WAKE_LOCK

时间:2015-05-28 10:40:12

标签: android wakelock android-wake-lock

这里我提到了唤醒屏幕的代码。我希望代码是监听仍然关闭应用程序并清除CPU,用户可以在我的屏幕解锁时单击电源按钮,应用程序与whatsapp同步。

    PowerManager pm =  (PowerManager)getSystemService(Context.POWER_SERVICE); 
    wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "whatever");
    super.onCreate(savedInstanceState);
    wl.acquire();

2 个答案:

答案 0 :(得分:7)

FULL_WAKE_LOCK 已弃用,最好使用 PARTIAL_WAKE_LOCK 。这是执行此操作的标准方法,

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
Wakelock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyWakelockTag");
wakeLock.acquire();

有关更多实施方式,请访问官方链接,

https://developer.android.com/training/scheduling/wakelock.html

答案 1 :(得分:0)

那么,您可以考虑使用JobScheduler在应用程序仍处于较长时间的睡眠状态下运行后台任务的备用方法,从而节省电池电量。 JobScheduler提供了许多方法来定义作业执行条件,因此我们可以利用它,但是它可以用于使用Android 5.0(API级别21)及更高版本的应用。