Android--java实现手机亮度控制
文章目录
- 1、开发需求
- 2、运行环境
- 3、主要文件
- 4、布局文件信息
- 5、手机界面控制代码
- 6、debug
1、开发需求
需求:开发一个Android apk实现手机亮度控制
2、运行环境
Android studio最新版本
3、主要文件
app\src\main\AndroidManifest.xml
app\src\main\res\layout\activity_main.xml
app\src\main\java\com\example\sylon\MainActivity.java
代码路径:app\src\main\AndroidManifest.xml
需要修改权限

4、布局文件信息
路径:app\src\main\res\layout\activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><SeekBarandroid:id="@+id/seekBar"android:layout_width="274dp"android:layout_height="32dp"android:layout_marginStart="27dp"android:layout_marginTop="38dp"android:layout_marginEnd="83dp"android:layout_marginBottom="24dp"android:maxHeight="5.0dp"android:minHeight="5.0dp"android:progressDrawable="@drawable/sb_bar"android:thumb="@drawable/sb_thumb"app:layout_constraintBottom_toTopOf="@+id/textview"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.037"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="1.0" /><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="40dp"android:layout_marginTop="120dp"android:layout_marginEnd="30dp"android:layout_marginBottom="16dp"android:text="sylonbar"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.187" /></androidx.constraintlayout.widget.ConstraintLayout>
5、手机界面控制代码
路径:app\src\main\java\com\example\sylon\MainActivity.java
package com.example.sylon;
import android.os.Bundle;
import android.app.Activity;
import android.view.WindowManager;
import android.view.Window;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Context;
import android.content.ContentResolver;
import android.provider.Settings;
import android.util.Log;/*
public class MouseSpeedChanger {private static final String TAG = "MouseSpeedChanger";// 修改鼠标速度的方法public static void setMouseSpeed(ContentResolver resolver, int speed) {if (speed >= 1 && speed <= 10) {// 将鼠标速度的值存储到系统设置中Settings.System.putInt(resolver, Settings.System.POINTER_SPEED, speed);// 通知系统设置已更改Uri uri = Settings.System.getUriFor(Settings.System.POINTER_SPEED);resolver.notifyChange(uri, null);Log.d(TAG, "Mouse speed set to: " + speed);} else {Log.e(TAG, "Invalid mouse speed value: " + speed);}}
}
*/
public class MainActivity extends AppCompatActivity {private SeekBar seekb_normal;private TextView txt_cur;private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//mContext = MainActivity.this;bindViews();}// 获取当前屏幕亮度值private int getCurrentBrightness() {int brightness = 0;try {brightness = Settings.System.getInt(getContentResolver(), Settings.System.POINTER_SPEED);} catch (Settings.SettingNotFoundException e) {e.printStackTrace(); // 捕获异常}return brightness;}// 设置新的屏幕亮度private void setBrightness(int brightness) {ContentResolver cResolver = getContentResolver();// 将进度值转换为0-255范围int newBrightness = brightness * 255 / 100;if (Settings.System.canWrite(this)) {Settings.System.putInt(cResolver, Settings.System.POINTER_SPEED, newBrightness);}// 更新当前窗口的亮度WindowManager.LayoutParams layoutParams = getWindow().getAttributes();layoutParams.screenBrightness = newBrightness / 255.0f; // 转换为0.0到1.0之间getWindow().setAttributes(layoutParams);}private void bindViews() {seekb_normal = (SeekBar) findViewById(R.id.seekBar);txt_cur = (TextView) findViewById(R.id.textview);int currentBrightness = getCurrentBrightness();seekb_normal.setProgress(currentBrightness*100/255);txt_cur.setText("当前亮度: " + currentBrightness*100/255);mContext = getApplicationContext();seekb_normal.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {setBrightness(progress);txt_cur.setText("当前亮度:" + progress + " / 100 ");}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {Toast.makeText(mContext, "触碰SeekBar", Toast.LENGTH_SHORT).show();}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {Toast.makeText(mContext, "放开SeekBar", Toast.LENGTH_SHORT).show();}});}
}
6、debug
工具如果找不到,直接全局搜索。


相关文章:
Android--java实现手机亮度控制
文章目录 1、开发需求2、运行环境3、主要文件4、布局文件信息5、手机界面控制代码6、debug 1、开发需求 需求:开发一个Android apk实现手机亮度控制 2、运行环境 Android studio最新版本 3、主要文件 app\src\main\AndroidManifest.xml app\src\main\res\layou…...
原点安全再次入选信通院 2024 大数据“星河”案例
近日,中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织开展的 2024 大数据“星河(Galaxy)”案例征集活动结果正式公布。由工银瑞信基金管理有限公司、北京原点数安科技有限公司联…...
torch.nn.init 模块介绍
PyTorch 的 torch.nn.init 模块提供了一组用于初始化张量或模型参数的函数。这些初始化方法对深度学习模型的训练收敛速度和性能有显著影响,正确选择初始化方法可以避免梯度消失或爆炸等问题。 模块功能 torch.nn.init 提供了一系列函数,用于对张量(如权重或偏置)进行初始…...
人工智能与物联网:从智慧家居到智能城市的未来蓝图
引言:未来已来,智能化的世界 想象一下,一个早晨,智能闹钟根据你的睡眠状态自动调整叫醒时间,咖啡机早已备好热腾腾的咖啡,窗帘缓缓拉开,迎接清晨的阳光。这不是科幻小说中的场景,而是…...
极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【一】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
纯Dart Flutter库适配HarmonyOS
纯Dart Flutter库适配HarmonyOS介绍: Flutter基本组件、Flutter布局组件、Flutter图片组件、Flutter字体、Flutter图标、Fluter路由、flutter动画、 Flutter表单、flutter异步等,纯Dart库无需任何处理,可以直接编译成HarmonyOs应用。 具体步…...
【R语言遥感技术】“R+遥感”的水环境综合评价方法
R语言在遥感领域中是一个强大的工具,它提供了一系列的功能和优势,使得遥感数据的分析和应用更加高效和灵活。以下是R语言在遥感中的具体应用: 数据处理:R语言可以处理和清洗遥感数据,包括数据转换、滤波处理、去噪和数…...
软件工程三 需求获取与结构化分析方法(需求分析、功能建模、数据建模、行为建模、数据字典等)
包括内容如下: 1. 需求获取与需求分析阶段的任务 2. 结构化分析方法 3. 系统需求规格说明 4. 需求评审 5. 需求管理 3.1 需求获取与需求分析阶段的任务 3.1包括: 需求获取的任务和原则 需求获取的过程 软件需求分析阶段的任务 3.1.1需求获取的任…...
Python 抽象基类 ABC :从实践到优雅
今天我们来聊聊 Python 中的抽象基类(Abstract Base Class,简称 ABC)。虽然这个概念在 Python 中已经存在很久了,但在日常开发中,很多人可能用得并不多,或者用得不够优雅。 让我们从一个实际场景开始&…...
Elasticsearch检索方案之一:使用from+size实现分页
前面两篇文章介绍了elasticsearch以及Kibana的安装,检索引擎以及可视化工具都已经安装完成,接下来介绍下如何使用golang的sdk实现简单的分页查询。 1、下载Elastic官方golang sdk 在讲解elasticsearch检索之前,需要先把golang的环境安装好&…...
知识图谱+大模型:打造全新智慧城市底层架构
在数字化时代,智慧城市的建设正迎来新一轮的变革。本文将探讨如何结合知识图谱和大模型技术,构建智慧城市的全新底层架构,以应对日益增长的数据量和复杂性,提升城市管理的智能化水平。 知识图谱:智慧城市的知识库 知识…...
Flutter开发HarmonyOS 鸿蒙App的好处、能力以及把Flutter项目打包成鸿蒙应用
Flutter开发HarmonyOS的好处: Flutter是谷歌公司开发的一款开源、免费的UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux 的跨平台开发…...
vscode安装fortran插件配置
本章教程,主要介绍如何在vscode上安装fortran插件,以便于使用vscode运行fortran编写的程序。 一、安装插件 首先在插件商店安装这个扩展插件 然后再把Code Runner扩展插件装上 二、下载mingw64 通过网盘分享的文件:mingw64 链接: https://pan.baidu.com/s/1fwS-CwC7dgI...
容器化平台Docker初识
Docker 是一个容器化平台,可以让你打包、分发和运行应用程序。它的核心思想是通过容器技术,让应用程序在任何环境下都能以一致的方式运行。 通俗易懂的理解 快餐盒的比喻: 假设你做了一顿饭(开发了一个应用程序)&#…...
【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 1、输入数值 2、选择结构语句 3、计算结果并输出 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务:编写一个程序,该程序需输入个人数据,进而预测其成年后的身高。 相关知识 为了完成本…...
简单两步使用ssh配置内网穿透
解决问题:内网主机没有公网IP,无法从外网登录 流程 首先去阿里云租一台最便宜的服务器作为中转服务器 登录中转服务器(cloudserver) ssh [cloudserver] # 开放对应中转服务 ufw allow [remote_port] #remote_port 2222 vim /etc/ssh/sshd_config将对…...
M系列芯片切换镜像源并安装 openJDK17
1. 查找openjdk版本 执行:brew search openjdk,注意:执行命令后,如果得到的结果中没有红框内容,则需要更新一下 brew 更新 brew 分别执行以下命令: cd "$(brew --repo)" export HOMEBREW_API_D…...
图像处理-Ch6-彩色图像处理
Ch6 彩色图像处理 无广告更易阅读,个人博客点此进入<– 文章目录 Ch6 彩色图像处理彩色基础彩色模型(Color models)RGB(red, green, blue)CMY & CMYK(cyan, magenta, yellow/and black)HSI(hue, saturation, intensity)HSV(hue, saturation, value) 颜色空…...
Redis可视化工具 RDM mac安装使用
第一步:https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部:点击下载的dmg文件进行安装、mac可能会提示: 无法验证此App不包含恶意软件 解决方法: 打开系统偏好设置>安全性与隐私>通用&am…...
单元测试/系统测试/集成测试知识总结
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法࿰…...
Python结合Scripting Tracker实现SAP复杂元素精准定位与自动化操作
1. 为什么需要PythonSAP自动化组合 如果你每天都要在SAP里重复点击几十次相同的按钮,或者需要从几百行的表格中手动筛选数据,那你一定体会过这种机械性工作带来的痛苦。我去年接手的一个财务对账项目就是这样——每月要处理3000多张单据,团队…...
遥感图像分割实战:用ResNet50和VGG16改进UNet,哪个模型效果更好?
遥感图像分割实战:UNet架构下ResNet50与VGG16骨干网络的深度对比 当我们需要从高空视角中精确识别建筑物轮廓时,遥感图像分割技术就像给计算机装上"透视眼"。在众多解决方案中,UNet及其变体已成为医学影像和遥感领域的黄金标准。但…...
从Alpine“偷”库到魔改源码:一个.NET老鸟的HarmonyOS适配踩坑实录
从Alpine“偷”库到魔改源码:一个.NET老鸟的HarmonyOS适配踩坑实录 1. 当.NET运行时遇上鸿蒙的"铁壁"seccomp 作为一名在.NET生态深耕十年的老开发者,我从未想过有一天会为了适配一个新系统而不得不深入运行时底层。这一切始于去年在.NET Conf…...
实战案例:用HY-MT1.5-1.8B为网站实现多语言自动翻译
实战案例:用HY-MT1.5-1.8B为网站实现多语言自动翻译 1. 项目背景与需求分析 在全球化时代,网站多语言支持已成为基本需求。传统解决方案面临三大痛点: 成本高昂:专业人工翻译每千字费用通常在200-500元,大型网站维护…...
OpenClaw+千问3.5-9B自动化测试:3种Python脚本异常处理方案
OpenClaw千问3.5-9B自动化测试:3种Python脚本异常处理方案 1. 为什么需要AI辅助的异常处理? 上周我在维护一个Python自动化测试套件时遇到了典型困境:凌晨3点被报警短信吵醒,发现某个核心测试脚本因SSL证书过期而崩溃。更糟糕的…...
别再手动调字号了!用algorithm宏包搞定LaTeX伪代码排版(附完整代码)
LaTeX伪代码排版进阶指南:从字体调整到专业级算法展示 在学术论文写作中,尤其是计算机科学和人工智能领域,算法的清晰呈现几乎与算法本身同等重要。许多研究者花费大量时间优化算法性能,却常常忽视算法描述的可读性——这就像精心…...
终极PT资源管理工具:auto_feed_js实现100+站点一键转载的高效解决方案
终极PT资源管理工具:auto_feed_js实现100站点一键转载的高效解决方案 【免费下载链接】auto_feed_js PT站一键转载脚本 项目地址: https://gitcode.com/gh_mirrors/au/auto_feed_js 在PT资源分享的世界里,每一位爱好者都曾面临过重复填写资源信息…...
如何用OpCore Simplify一键生成黑苹果EFI配置?新手也能轻松掌握的完整方案
如何用OpCore Simplify一键生成黑苹果EFI配置?新手也能轻松掌握的完整方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果配…...
PyTorch训练中的retain_graph使用指南:如何避免Saved variables already freed错误
PyTorch中retain_graph的深度解析:从原理到实战避坑指南 在PyTorch的动态图机制中,retain_graph参数就像一位默默无闻的后台管理员,平时很少被提及,但一旦出现问题就会让整个训练流程崩溃。许多开发者在遇到"Saved variable…...
YOLOv11算法优化实战:从特征融合到动态推理的性能跃迁
1. YOLOv11算法核心优化方向 目标检测领域近年来最令人兴奋的进展之一,就是YOLO系列算法的持续进化。作为这个家族的最新成员,YOLOv11在保持实时性的同时,通过多项技术创新实现了检测精度的显著提升。但在实际工业应用中,我们发现…...
