为了账号安全,请及时绑定邮箱和手机立即绑定

如何使Android WakeLock正常工作?

如何使Android WakeLock正常工作?

慕标5832272 2019-12-17 10:43:59
我的WakeLock不能使我的设备保持唤醒状态。在OnCreate()我有:PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "My Tag");mWakeLock.acquire();然后:new CountDownTimer(1320000, 200) {    public void onTick(long millisUntilFinished) {        // I update a progress bar here.                                             }    public void onFinish() {        // I finish updating the progress bar.        mWakeLock.release();    }}.start();在计时器结束之前屏幕关闭,如何使屏幕保持可见?mWakeLock 是以前这样声明的字段:private PowerManager.WakeLock mWakeLock;我的设备使用Android 1.6。我真的很感激能解决这个问题。
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您的清单中是否设置了所需的权限?


<uses-permission android:name="android.permission.WAKE_LOCK" />


查看完整回答
反对 回复 2019-12-17
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

您只需要编写以下代码:


 private PowerManager.WakeLock wl;


    protected void onCreate(Bundle savedInstanceState) {

               super.onCreate(savedInstanceState);

            setContentView(R.layout.main);


            PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

            wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNjfdhotDimScreen");

    }//End of onCreate


            @Override

        protected void onPause() {

            super.onPause();

            wl.release();

        }//End of onPause


        @Override

        protected void onResume() {

            super.onResume();

            wl.acquire();

        }//End of onResume

然后在清单文件中添加权限


 <uses-permission android:name="android.permission.WAKE_LOCK" />

现在,您的活动将始终保持清醒状态。您可以根据需要执行其他操作w1.release()。


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 1121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信