Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[已解决]代码里关闭屏幕、打开屏幕 #529

Closed
jp1017 opened this issue Sep 10, 2016 · 6 comments
Closed

[已解决]代码里关闭屏幕、打开屏幕 #529

jp1017 opened this issue Sep 10, 2016 · 6 comments

Comments

@jp1017
Copy link

jp1017 commented Sep 10, 2016

我先说说我的姿势:
公司自己编译的4.4.2系统

  • 获取锁,释放锁,但是不能锁屏,姿势哪里不对?
        mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
        mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "INST");
        mWakeLock.acquire();

        mWakeLock.release();
  • 设置设备管理器,可以锁屏,但是设备管理器有东西,感觉不好,miui等系统的一键锁屏是怎么搞的呢,设备管理器没有东西。
       mPolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

       if (!mPolicyManager.isAdminActive(componentName)) {
              //只能设置一次,否则报错
              mPolicyManager.setActiveAdmin(componentName, false);
       }

       mPolicyManager.lockNow();
  • 类似微信的,来通知了,可以亮屏,姿势是怎么样的?
@wu-leaf
Copy link

wu-leaf commented Sep 10, 2016

这东西还和系统设置有关吧,我记得系统->设置那里可以设定:通知来了唤醒屏幕

@jp1017
Copy link
Author

jp1017 commented Sep 22, 2016

Hello EveryBody, Today is 秋分, Happy still. 😆 👍

又了解了下,姿势是这样的:

  1. mWakeLock.acquire(); 和 mWakeLock.release(); 是在锁屏时使用的。
    锁屏下,获取锁后可以运行,运行结束,release即可,成对使用。
  2. 设备管理器就是这样子了,姿势就这么点。
  3. 现在用的姿势是这个:(一开始就用的这个,但是当时硬件有些问题,以为不可取,所以来这里提问,现在完美了 😄 )
  • 关屏

    mPowerManager.goToSleep(SystemClock.uptimeMillis());

  • 开屏

    mPowerManager.wakeUp(SystemClock.uptimeMillis());

这两个相当于按下电源键操作, 需要系统权限哦

This is what happens when the power key is pressed to turn off the screen.

@jp1017 jp1017 closed this as completed Sep 22, 2016
@jp1017 jp1017 changed the title [问答]代码里关闭屏幕、打开屏幕 [已解决]代码里关闭屏幕、打开屏幕 Jun 9, 2017
@DorisGM
Copy link

DorisGM commented Jan 25, 2019

Hello EveryBody, Today is 秋分, Happy still.

又了解了下,姿势是这样的:

  1. mWakeLock.acquire(); 和 mWakeLock.release(); 是在锁屏时使用的。
    锁屏下,获取锁后可以运行,运行结束,release即可,成对使用。
  2. 设备管理器就是这样子了,姿势就这么点。
  3. 现在用的姿势是这个:(一开始就用的这个,但是当时硬件有些问题,以为不可取,所以来这里提问,现在完美了 smile )
  • 关屏

    mPowerManager.goToSleep(SystemClock.uptimeMillis());

  • 开屏

    mPowerManager.wakeUp(SystemClock.uptimeMillis());

这两个相当于按下电源键操作, 需要系统权限哦

This is what happens when the power key is pressed to turn off the screen.

为什么 我找不到 goToSleep 和 wakeUp 这两个方法

@singlepig
Copy link

Hello EveryBody, Today is 秋分, Happy still.
又了解了下,姿势是这样的:

  1. mWakeLock.acquire(); 和 mWakeLock.release(); 是在锁屏时使用的。
    锁屏下,获取锁后可以运行,运行结束,release即可,成对使用。
  2. 设备管理器就是这样子了,姿势就这么点。
  3. 现在用的姿势是这个:(一开始就用的这个,但是当时硬件有些问题,以为不可取,所以来这里提问,现在完美了 smile )
  • 关屏

    mPowerManager.goToSleep(SystemClock.uptimeMillis());

  • 开屏

    mPowerManager.wakeUp(SystemClock.uptimeMillis());

这两个相当于按下电源键操作, 需要系统权限哦

This is what happens when the power key is pressed to turn off the screen.

为什么 我找不到 goToSleep 和 wakeUp 这两个方法

http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java/android/os/PowerManager.java#897
是hidden方法

@DorisGM
Copy link

DorisGM commented Jan 25, 2019 via email

@iielse
Copy link

iielse commented Apr 23, 2019

所以 PowerManagergoToSleepwakeUp 调用不了了。
现在怎么实现呢 @jp1017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants