如何正确实现部分唤醒锁定?



我已经找到了实现它的方法,如下所示...

法典:

public class main extends AppCompatActivity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lvl_1);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AppName: tag");
wl.acquire();
wl.release();
}

然后我还在清单中添加了唤醒锁定的权限代码。但是,它无法正常工作,因为屏幕关闭,当我再次重新打开屏幕时,我的应用程序关闭并发生一些随机错误。(该错误与唤醒锁无关,而是因为存在我添加的部分唤醒锁代码(。伙计们,请帮帮我。我已经在这个问题上停留了将近一个星期。提前谢谢,伙计们。

我强烈建议您阅读此有关打瞌睡模式的Android文档 保持设备唤醒

如果要保持屏幕打开,请避免使用唤醒锁。

如果您想在"活动"中保持屏幕打开,请在"创建"中使用此标记window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

您可以通过 XML 标记实现相同的行为。android:keepScreenOn="true">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
...
</RelativeLayout>

最新更新