打开和关闭手机屏幕方法:

1.关闭屏幕

//设备管理者

private DevicePolicyManager mDevicePolicyManager;

//关屏组件

private ComponentName mCompName;

onCreate()

{

mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

// 申请权限

mCompName = new ComponentName(this, YNAdminReceiver.class);

}

//点击按钮关闭屏幕

public void onScreenOff(View view) {

// 判断该组件是否有系统管理员的权限

if (!mDevicePolicyManager.isAdminActive(mCompName)) {//这一句一定要有...

Intent intent = new Intent();

//指定动作

intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

//指定给那个组件授权

intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mCompName);

startActivity(intent);

} else {

//立即关闭屏幕

mDevicePolicyManager.lockNow();

//                    devicePolicyManager.resetPassword("123321", 0);

Log.i(TAG, "具有权限,将进行锁屏....");

Log.i(TAG, "going to shutdown screen");

}

}

其中,组件mCompName是一个DeviceAdminReceiver:

package com.yn.receivers;

public class YNAdminReceiver extends DeviceAdminReceiver {

}

以上就是关屏的代码部分,剩下还需配置:

//res/xml/yndeviceadmin.xml

//AndroidMainfest.xml

android:resource="@xml/yndeviceadmin/>

通过以上配置,就可以实现关屏了。

2.打开屏幕(打开屏幕,只需一个wakelock即可)

private PowerManager mPowerManager;

private PowerManager.WakeLock mScreenLock;

onCreate()

{

mPowerManager = ((PowerManager) getSystemService(POWER_SERVICE));

mScreenLock = mPowerManager.newWakeLock(

PowerManager.ACQUIRE_CAUSES_WAKEUP //该flag使能屏幕关闭时,也能点亮屏幕(通常的wakelock只能维持屏幕处于一直开启状态,如果灭屏时,是不会自动点亮的)

| PowerManager.SCREEN_DIM_WAKE_LOCK

| PowerManager.ON_AFTER_RELEASE, "screenOnWakeLock");

}

//点击按钮,5s后获取锁(如果此时屏幕处于关闭状态,5s后获取锁时,会点亮屏幕)

public void onScreenOn(View View) {

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

//isHeld(),判断是否获取锁,false未获取锁

if (!mScreenLock.isHeld()) {

mScreenLock.acquire();

Toast.makeText(MainActivity.this, "acquire", Toast.LENGTH_SHORT).show();

} else {

mScreenLock.release();

Toast.makeText(MainActivity.this, "release", Toast.LENGTH_SHORT).show();

}

}

}, 5000);

}

最后,还需要在AndroidManifest.xml中配置权限

通过以上步骤,就可以实现开启屏幕了。

原文:http://whatever957.blog.51cto.com/6835003/1864346

android 打开屏幕,android打开关闭屏幕相关推荐

  1. android adb 点亮 关闭 屏幕 命令

    Android adb 点亮和关闭屏幕的命令 # kernel休眠 echo mem > /sys/power/state # kernel唤醒 echo on > /sys/power/ ...

  2. 笔记本计算机在桌面显示器,解决办法:笔记本电脑如何关闭屏幕,但仍可以使用?...

    有两种使用方式: 一.不会关闭笔记本电脑的屏幕并通过设置关闭屏幕(无需其他设置即可确保互联网不中断). 二.关闭屏幕后(不需要其他设置,屏幕将自动关闭),以确保网络不中断. 通过右键单击屏幕右下角的电 ...

  3. android shell检查是否锁屏_android打开关闭屏幕

    打开和关闭手机屏幕方法: 1.关闭屏幕 //设备管理者 private DevicePolicyManager mDevicePolicyManager; //关屏组件 private Compone ...

  4. android adb命令唤醒屏幕,如何使用adb命令打开和关闭屏幕?

    我正在使用KEYCODE_POWER来打开和关闭我的手机.波纹管命令用于打开和关闭屏幕.如何使用adb命令打开和关闭屏幕? adb shell input keyevent KEYCODE_POWER ...

  5. android 熄屏后仍然可以点击,Android - 在不触发睡眠/锁定屏幕的情况下关闭显示屏 - 使用触摸屏打开...

    我一直在试图找到一种方法来关闭显示屏,并从用户触摸触摸屏时唤醒. 设备处于嵌入式环境中,其中设备是平板电脑,用户除了触摸屏外无法访问任何内容(根本没有按钮).Android - 在不触发睡眠/锁定屏幕 ...

  6. Android打开/关闭屏幕和设置系统屏幕亮度方法

    在有一次处理屏幕的时候,我通过设置值发现怎么都实现不了. 控制屏幕的两种方法: 第一:通过获取PowerManager对象,利用反射.打开/关闭屏幕,上代码: /**  * 关闭屏幕 ,其实是使系统休 ...

  7. android 打开屏幕,Android打开屏幕

    我制作了由AlarmManager安排活动启动的应用程序.即使屏幕关闭且设备被锁定,我也想出现. 为了达到这一目的,请设置Window标志 final Window win = getWindow() ...

  8. android 电源管理 关闭屏幕,Android之PowerManager电源管理

    翻译来源PowerManager 这个类让你拥有控制设备状态的权利. 使用这个api类会很明显地影响设备电量的使用时长.除非你确实需要PowerManager.WakeLock否则不要轻易使用它们,并 ...

  9. Android实现简单的检测手机自由落体关闭屏幕

    实现功能如下:在背景运行app,检测到自由落体状态时,熄灭屏幕,可重复测试. 1. 检测自由落体动作 需要使用到加速度感应器 TYPE_ACCELEROMETER SensorManager mSen ...

最新文章

  1. FPGA之道(47)时钟及时钟域
  2. mysql %3c%3e sql优化_SQL注入技术和跨站脚本攻击的检测(2)
  3. Memcache参数
  4. cookie session token区别_彻底理解cookie,session,token
  5. Maven学习之(一)基本配置
  6. Python网络编程基础
  7. 别再问如何用 Python 提取 PDF 内容了!
  8. 【狂人小白】MyBatis.001 学习巴提斯!
  9. 和平精英有电脑版吗_和平精英电脑版灵敏度调多少 CP端灵敏度设置攻略
  10. thinkpad 机身清理
  11. linux 固态硬盘 分区工具,固态硬盘怎么分区?使用免费分区助手轻松搞定!
  12. html点击图片后图片移动,移动端点击图片放大图片,可左右切换图片
  13. Eplan教学视频合集-百度网盘-收集于网络
  14. 获取浏览器中鼠标选中的文本内容
  15. 关于开源的RTP——jrtplib的使用(2)
  16. linux之pmap命令!
  17. IPFS系列 - 默克有向无环图(Merkle DAG)
  18. mysql 自连接与内连接
  19. c语言奇数阶幻方构造法,奇数阶面幻方的行列式构造法.pdf
  20. Property ‘next‘ does not exist on type ‘Component<any, {}, any>‘问题的解决方法

热门文章

  1. 装满了自我提升的33个学习平台
  2. C#计算一个月有多少天
  3. 免费WiFi分享给你,全民免费WiFi来袭
  4. 科技云报道:科技巨头们为什么要“跨界造芯”?
  5. 操作系统简述复习笔记
  6. electron-vue 添加右下角通知图标
  7. vue 中点击叉号,关闭div的方法
  8. 服务器内存超频性能,服务器内存可以超频么
  9. 用where in遇到null时的解决方法1
  10. 关于在安卓M上无法申请 SYSTEM_ALERT_WINDOW 权限的解决方案