java - 如何正确实现部分唤醒锁?
问题描述
我找到了实现它的方法如下......
代码:
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)
在您的 onCreate 中
使用此标签,
或者
您可以通过 XML 标签实现相同的行为。
机器人:keepScreenOn="真"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
...
</RelativeLayout>
推荐阅读
- xero-api - XERO PHP SDK createPayment 验证异常
- r - 将数据与R中的重复行合并
- web-services - postman:“MasterDataReplReqMsg”元素上的命名空间,不是有效的 SOAP 版本
- javascript - 带有 getElementsByClassName("") 的切换器不起作用
- github - 有没有办法在 Github 上轻松搜索/列出模板存储库?
- r - R聚合尚未定义的列范围(包括因子)
- google-cloud-platform - Airflow LocalFilesystemToGCSOperator 将任务标记为成功但文件未上传
- python - fvwm-menu-desktop 在菜单创建期间挂起,使用 --get-menus 时出现 python 异常失败
- c# - .net core 迁移错误:无法创建“DataContext”类型的对象
- javascript - 组件道具没有在反应中更新