android 实现息屏亮屏 Runtime.getRuntime().exec不执行

        公司想实现远程息屏亮屏。试了下PowerManager,对我这个广告屏来讲是没有效果的。

import android.content.Context;
import android.os.PowerManager;public class ScreenStateHelper {private PowerManager powerManager;private WakeLock wakeLock;public ScreenStateHelper(Context context) {powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);}public boolean isScreenOn() {return powerManager.isInteractive();}public void acquireWakeLock() {if (wakeLock != null) {wakeLock.release();}wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyWakeLock");wakeLock.acquire();}public void releaseWakeLock() {if (wakeLock != null) {wakeLock.release();wakeLock = null;}}
}

然后想着是把亮度调成0,结果只是变得很暗,还是能看见界面:

public static void setScreenDark(Context context) {if (!Settings.System.canWrite(context)) {Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);intent.setData(Uri.parse("package:" + context.getPackageName()));context.startActivity(intent);} else {Settings.System.putInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,0);}}

最后想着用adb命令试试:

        

adb shell input keyevent KEYCODE_POWER

发现是可以使用的,然后使用Runtime.getRuntime().exec("input keyevent KEYCODE_POWER"),发现死活没反应,设备也root了。后来发现需要su权限,然后就可以允许了,代码如下:

public static void executeADBCommands(boolean isRooted, String... commands) {Process process = null;BufferedReader successResult = null;BufferedReader errorResult = null;DataOutputStream os = null;try {process = Runtime.getRuntime().exec(isRooted ? "su" : "sh", null, null);os = new DataOutputStream(process.getOutputStream());for (String command : commands) {if (command == null) continue;os.write(command.getBytes());os.writeBytes(System.getProperty("line.separator"));os.flush();}os.writeBytes("exit" + System.getProperty("line.separator"));os.flush();int result = process.waitFor();} catch (Exception e) {e.printStackTrace();} finally {try {if (os != null) {os.close();}} catch (IOException e) {e.printStackTrace();}try {if (successResult != null) {successResult.close();}} catch (IOException e) {e.printStackTrace();}try {if (errorResult != null) {errorResult.close();}} catch (IOException e) {e.printStackTrace();}if (process != null) {process.destroy();}}}

调用的时候:

CommonUtils.executeADBCommands(true, "input keyevent KEYCODE_POWER");

这样就能做到息屏亮屏了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第12篇:4线-2线普通编码器

Q:在数字系统中,用一个二进制代码表示特定信息称为编码,而具有编码功能的逻辑电路就称为编码器。本期我们学习实现4线-2线普通编码器。 A:基本原理:二进制编码器有n位输出,与个输入相对应。4线-2线普通编码…

前端与后端具备能力的区别

前端与后端具备能力的区别 在软件开发领域,前端和后端是两个至关重要的部分,它们各自承担着不同的职责和任务。前端主要负责与用户交互的界面设计和实现,而后端则负责处理数据和业务逻辑。因此,前端和后端开发者需要具备不同的技…

mysql 如何设计分库分表

在MySQL中设计分库分表的方法通常涉及到水平拆分与垂直拆分两种主要方式。 水平拆分: 按照某一列进行水平拆分: 可以根据某一列(如用户ID、时间等)的取值范围将数据拆分到不同的数据库或表中。基于哈希值的水平拆分:…

银行OA系统|基于SpringBoot架构+ Mysql+Java+ B/S结构的银行OA系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…

Orange3数据预处理(行选择组件)

选择行 根据数据特征的条件选择数据实例。 输入 数据:输入数据集 输出 匹配数据:满足条件的实例 不匹配数据:不满足条件的实例 数据:带有额外列的数据,显示实例是否被选中 这个小部件根据用户…

每日一题:C语言经典例题之实数的整数部分

题目描述 输入一个实数,输出实数的整数部分。注意该实数的位数不超过100位。输入的整数部分可能含有不必要的前导0,输出时应去掉,当然,若整数部分为0,则该0不能去掉。如输入0023.56732,输出应为23&#xff…

java零钱兑换 II(力扣Leetcode518)

零钱兑换 II 力扣原题链接 问题描述 给定一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0。假设每一种面额的硬币有无限个。 示例 示…

如何使用Excel创建一个行政考勤表

在企业和机构中,行政考勤管理是一项重要的日常工作,它涉及到员工的出勤情况、请假记录、加班情况等。使用Excel创建一个行政考勤表可以帮助管理者有效地记录和跟踪员工的考勤情况,下面将详细介绍如何使用Excel创建一个行政考勤表。 第一部分&…

SpringMVC | SpringMVC中的 “JSON数据交互“ 和 “RESTful设计风格“

目录: 一、JSON 数据交互1.1 JSON概述1.2 JSON的“数据结构”对象结构数组结构 1.3 JSON的“数据转换”用 \<mvc:annotation-driven/>的方式 来“自动配置” MappingJackson2HttpMessageConverter转换器 (来完成JSON数据转换)用\<bean>标签方式的来“自行配置” JS…

【软考】生成树

目录 1. 概念2. 图解3. 例题3.1 例题1 1. 概念 1.对于有n个顶点的连通图&#xff0c;至少有n-1条边&#xff0c;而生成树中恰好有n-1条边2.连通图的生成树是该图的极小连通子图3.若在图的生成树中任意加一条边&#xff0c;则必然形成回路4.图的生成树不是唯一的5.从不同的顶点…

如何在Linux系统部署Dupal CMS结合内网穿透实现无公网IP访问web界面

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&a…

【OpenCV C++Python】(五)图像平滑(模糊)

文章目录 图像平滑均值滤波高斯滤波中值滤波双边滤波(Bilateral Filtering ) PythonC 图像线性平滑空间滤波&#xff08;加权均值滤波器&#xff0c;几何均值滤波&#xff0c;谐波均值滤波&#xff0c;逆谐波均值滤波&#xff09;&#xff0c;非线性平滑空间滤波&#xff08;中…

unity 加载BMP格式图片数据流

创建BMPLoader.cs 此方法是用来将数据流解析成texture&#xff0c;BMP数据流不同于其他图片数据&#xff0c;所以需要特殊处理 #region License and Information /***** * * BMPLoader.cs * * This is a simple implementation of a BMP file loader for Unity3D. * Formats…

Go语言的流行框架 ,能够根据数据表直接生成程序、语言包和界面的并不多见,希望哪个大神,做一个

基于Go语言的框架中&#xff0c;能够根据数据表直接生成程序、语言包和界面的并不多见&#xff0c; 希望哪个大神&#xff0c;做一个 因为Go语言更侧重于性能和并发性&#xff0c;而这类自动生成的功能往往与具体的业务逻辑和界面需求紧密相关&#xff0c;这通常是前端框架或全…

Linux下QT界面小程序开发

背景&#xff1a;需要在linux不同环境下可以测试我们的读卡器设备 搭建本地linux开发环境&#xff08;本来想VS里开发然后通过SSH的方式在linux下编译&#xff0c;但是工具链一直没搞起来&#xff0c;所以我是在ubuntu里安装的QT Creator工具直接开发的&#xff09;&#xff1b…

ARMday6作业

1&#xff0c;串口字符串收发现象实现图 2.串口控制灯亮灭 main.c #include "uart4.h"//封装延时函数 void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j){}} }int strcmp(char *a1,char *a2) {int i0;while(a1[i]a2[i]){if(a1[i]\0){break;} i;}…

C# 主窗体中显示子窗体(MDI)

1.示例代码&#xff0c;假如主窗体为MainForm,有三个子窗体分别是&#xff1a;Form1&#xff0c;Form2&#xff0c;Form3 public partial class MainForm : Form {public MainForm(){InitializeComponent();}Form1 form1 new Form1(); //子窗体1Form2 form2 new Form2(); //…

【地图】腾讯地图 - InfoWindow 自定义信息窗口内容时,内容 html 嵌套混乱问题

目录 需求描述问题问题代码页面展示 解决原因解决办法解决代码页面展示 代码汇总注 需求描述 腾讯地图上画点位&#xff0c;点击点位展示弹框信息 问题 问题代码 // 打开弹框 openInfoWindow(position, content) {this.infoWindow new TMap.InfoWindow({map: this.map,posit…

windowsVMware虚拟机中扩展linux磁盘空间

1.虚拟磁盘扩容 VM中&#xff0c;关闭linux虚拟机&#xff0c;直接编辑虚拟机-硬盘-扩展磁盘容量 2.通过Gparted工具进行LINUX系统磁盘分区 未分区挂载前可以看到/挂载点下空间为20G&#xff1a; 通过虚拟机-快照-拍摄快照&#xff0c;操作前可拍摄快照&#xff08;便于恢复之前…

FPGA高速接口的学习途径,全套课程

​FPGA高速接口有哪些学习途径&#xff0c;这里不得不提下我们宸极教育FPGA课程&#xff0c; FPGA课程5.0 版&#xff1a;Xilinx体系高速接口项目实操&#xff0c;全新升级&#xff0c;课程完全根据企业招聘要求&#xff0c;项目实操设置&#xff0c;适应目前市场的求职招聘要…