当前位置: 首页 > news >正文

Android多种方法获取系统属性

这里使用获取rga版本为例

1,使用sh脚本方法

sh的编写

echo $(getprop vendor.rga_api.version)

其中,vendor.rga_api.version是关键字

相关方法也有两种,一种是从sh脚本读取流,一种是指令很少的,直接读取字符串化为流。

代码如下:

 private void getRgaVersion(){Log.e(TAG, "onCreateView: 开始去获取rga");try {//todo 这种方法是需要写一个sh文件,从sh文件里面拿到对应的值  方法一  麻烦,而且需要单独写个文件,将方法二的内容放进去,然后放进设备对应的路径下面
//            ProcessBuilder processBuilder = new ProcessBuilder("sh", "sdcard/xxxx/rga.sh");//todo 这个方法是将sh文件里面的内容,直接在这使用指令形式执行 方法二ProcessBuilder processBuilder = new ProcessBuilder("sh", "-c","echo $(getprop vendor.rga_api.version)");Process process = processBuilder.start();process.waitFor();// 读取脚本结果输出BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));StringBuilder output = new StringBuilder();String line;while ((line = reader.readLine()) != null) {output.append(line).append("\n");}// 获取到rga的版本号String version = output.toString().trim();if ("1.9.1_[3]".equals(version)){rgaFlag=true;}Log.e(TAG, "onCreateView: 使用代码直接获取,不需要从sh文件那么麻烦,获取到的rga属性为="+version+";flag="+rgaFlag );} catch (IOException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}

2,使用反射获取 SystemProperties类

import java.lang.reflect.Method;public final class SystemPropertiesUtils {private static final String CLASS_NAME = "android.os.SystemProperties";public static String getProperty(String key, String defaultValue) {String value = defaultValue;try {Class<?> c = Class.forName(CLASS_NAME);Method get = c.getMethod("get", String.class, String.class);value = (String)(get.invoke(c, key, defaultValue));} catch (Exception e) {e.printStackTrace();} finally {return value;}}public static void setProperty(String key, String value) {try {Class<?> c = Class.forName(CLASS_NAME);Method set = c.getMethod("set", String.class, String.class);set.invoke(c, key, value);} catch (Exception e) {e.printStackTrace();}}
}

调用getProperty("vendor.rga_api.version", "default");

相关文章:

Android多种方法获取系统属性

这里使用获取rga版本为例 1&#xff0c;使用sh脚本方法 sh的编写 echo $(getprop vendor.rga_api.version) 其中&#xff0c;vendor.rga_api.version是关键字 相关方法也有两种&#xff0c;一种是从sh脚本读取流&#xff0c;一种是指令很少的&#xff0c;直接读取字符串化…...

密码学【一】

前言 在区块链的整个体系中大量使用了密码学算法&#xff0c;比如用于 PoW 的哈希算法&#xff0c;用于完整性验证的 Merkle Tree&#xff0c;用于交易签名与验证的数字签名算法&#xff0c;用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石&#xff0c;而区…...

企业如何选择舆情优化处置公司?

随着互联网的发展成熟&#xff0c;网络上的信息量已经非常之巨大&#xff0c;网络上的海量信息有对企业有利的&#xff0c;其实也有一些企业经营不利的&#xff0c;让不利的信息下沉&#xff0c;让有利的信息排上搜索首页&#xff0c;这就是舆情优化的简单表述。 对于大中型企业…...

HBASE知识点

HBASE是什么&#xff1f; 高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库。利用HDFS作为其文件存储系统&#xff0c;利用MapReduce来处理HBase中的海量数据。利用Zookeeper作为其分布式协同服务。用于存储非结构化和半结构化的松散数据。 HBase数据模型 RowKey: 唯…...

Python新手入门

文章目录 概要python代码运行结果小结 概要 以下内容为python各种输出语句的语法&#xff01; python代码 # 标准化输出 print("这是标准化输出&#xff01;")# 格式化输出 print("这是第1种%s"%"格式化输出&#xff01;") print("这是第…...

vite + react + typescript + uni-app + node 开发一个生态系统

简介 使用 vite react typescript uni-app node 来开发一个简易的生态系统案例&#xff0c;包含 APP&#xff0c;H5&#xff0c;微信小程序&#xff0c;控制台&#xff0c;服务端 开发 admin 技术栈&#xff1a;vite react typescript初始化控制台项目选择自定义预设…...

python pdf文件转图片

在Python中&#xff0c;有很多的第三方库可以用于PDF文件的转换&#xff0c;比如PyPDF2和pdf2image。 其中PyPDF2可以从PDF文件中提取每一页并将其保存为图像文件&#xff0c;需要安装Pillow库。 pdf2image则直接将PDF文件转换为PNG或JPEG图像文件&#xff0c;可以使用ImageM…...

牛客: BM7 链表中环的入口结点

牛客: BM7 链表中环的入口结点 文章目录 牛客: BM7 链表中环的入口结点题目描述题解思路题解代码 题目描述 题解思路 用一个哈希表存储链表节点,遍历链表,将节点加入哈希表,如果该节点在哈希表中出现过,意味着该节点是入口节点 题解代码 package mainfunc EntryNodeOfLoop(p…...

SpringMVC系列(七)之自定义注解

目录 一. Java注解简介 1.1 Java注解分类 1.2 JDK基本注解 Override Deprecated SuppressWarnings 1.3 JDK元注解 从 Java 7 开始&#xff0c;额外添加了 3 个注解: 1.4 自定义注解 如何自定义注解&#xff1f; 二. 自定义注解示例 枚举类&#xff1a; 示例一&…...

MongoDB的搭建 和crud操作

MongoDB docker 下载 docker run --restartalways -d --name mongo -v /docker/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6使用navcat工具使用MongoDB Crud操作 jar包 <dependency><groupId>org.projectlombok</groupId><artifactId>lom…...

软件设计师考试学习1

前言 计算机组成原理及体系结构 数据的表示 进制的转换 原码反码补码移码 最高位是符号位&#xff0c;负数符号位为1 反码补码正数和原码一样&#xff0c;负数有区别 反码符号位不动&#xff0c;其他位置取反 补码在反码基础上加1 移码是将补码的符号为取反 在原码和反码中…...

【云计算】虚拟私有云 VPC

虚拟私有云 VPC 1.前言1.1 基本介绍1.2 VPC 的作用1.3 VPC 的适用人群 2.VPC 基本概念2.1 VPC 相关基本概念2.2 其他相关基本概念 3.VPC 通信场景3.1 VPC 内部互通3.2 VPC 间互通3.2.1 对等连接3.2.2 Transit Gateway 或者云联网 3.3 访问 Internet3.3.1 Internet 网关3.3.2 NA…...

@EventListener 监听事件 ,在同一个虚拟机中如何保证顺序执行

文章目录 前言EventListener 监听事件 &#xff0c;在同一个虚拟机中如何保证顺序执行1. 设计原理2. 具体编码2.1. 编码事件监听器2.2. 制作一个生成序号方法2.3. 制作测试代码2.4. 测试结果 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;…...

数据结构入门 — 树的概念与结构

本文属于数据结构专栏文章&#xff0c;适合数据结构入门者学习&#xff0c;涵盖数据结构基础的知识和内容体系&#xff0c;文章在介绍数据结构时会配合上动图演示&#xff0c;方便初学者在学习数据结构时理解和学习&#xff0c;了解数据结构系列专栏点击下方链接。 博客主页&am…...

linux驱动开发day6--(epoll实现IO多路复用、信号驱动IO、设备树以及节点和属性解析相关API使用)

一、IO多路复用--epoll实现 1.核心&#xff1a; 红黑树、一张表以及三个接口、 2.实现过程及API 1&#xff09;创建epoll句柄/创建红黑树根节点 int epfdepoll_create(int size--无意义&#xff0c;>0即可)----------成功&#xff1a;返回根节点对应文件描述符&#xf…...

9月15日作业

Qt代码 #include "mywnd.h"//构造函数的定义 mywnd::mywnd(QWidget *parent): QWidget(parent) //显性调用父类的有参构造完成对子类从父类继承下来成员的初始化工作 {//窗口设置this->resize(QSize(500, 433));this->setWindowTitle("Widget&quo…...

关于Java多线程的那些事

多线程 多线程1. 关于多线程的理解1.1 进程和线程1.2 并行和并发1.3 线程调度 2. 创建多线程的方式创建线程有哪几种方式&#xff1f;2.1 通过继承Thread类来创建并启动线程的步骤如下&#xff1a;2.2 通过实现Runnable接口来创建并启动线程的步骤如下&#xff1a;2.3 通过实现…...

信息化项目验收的依据、内容和验收测评报告

随着信息系统业务覆盖率的提高和深度整合创新的逐步提高&#xff0c;信息系统运行阶段的复杂性和资源比例逐渐增加。一方面&#xff0c;信息已成为业务创新、技术应用和运营服务的综合体&#xff0c;而不仅仅是技术平台建设。另一方面&#xff0c;信息采购是技术平台建设。另一…...

解决IntelliJ IDEA执行maven打包,执行java -jar命令提示jar中没有主清单属性

问题场景 IDEA执行mvn clean package -DskipTesttrue命令或者借助工具的Maven菜单进行打包操作&#xff0c;然后执行java -jar app.jar命令后&#xff0c;提示jar中没有主清单属性 D:\WorkSpace\demo\target>java -jar demo-SNAPSHOT.jar demo-SNAPSHOT.jar中没有主清单属性…...

Python--文件和异常

目录 1、读取文件 1.1 读取文件的全部内容 1.2 相对路径和绝对路径 1.3 访问文件中的各行 1.4 使用文件中的内容 1.5 包含100万位的大型文件 1.6 圆周率中的生日 2、写入文件 2.1 写入一行 2.2 写入多行 3、异常 3.1 处理ZeroDivisionError 异常 3.2 使用try-exce…...

实战指南:构建高性能离线语音识别系统的完整方案

实战指南&#xff1a;构建高性能离线语音识别系统的完整方案 【免费下载链接】whisper-base.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-base.en 在数据隐私日益受到重视的今天&#xff0c;本地化语音识别技术为处理敏感语音内容提供了安全可靠的…...

告别‘OSError‘:手把手教你为transformers库设置离线/代理模式,稳定加载预训练模型

构建稳定高效的Hugging Face模型加载环境&#xff1a;从原理到实践 当你在深夜赶项目进度时&#xff0c;突然遇到那个令人窒息的红色报错——"OSError: Couldnt connect to https://huggingface.co"&#xff0c;这感觉就像在马拉松终点线前被绊倒。作为现代NLP开发的…...

避坑指南:Webots 2022a在Windows安装后,为什么打不开示例项目?手把手教你排查与修复

Webots 2022a Windows安装避坑指南&#xff1a;示例项目无法加载的终极解决方案 当你满怀期待地在Windows上安装好Webots R2022a&#xff0c;准备开始机器人仿真之旅时&#xff0c;却发现内置的示例项目一片空白或频繁报错——这种挫败感我深有体会。作为一款功能强大的机器人仿…...

51单片机红外避障循迹小车实战:从接线到代码调试全流程(附避坑指南)

51单片机红外避障循迹小车实战&#xff1a;从硬件搭建到算法优化全解析 在电子制作领域&#xff0c;红外避障循迹小车堪称"入门必修课"。这个看似简单的项目&#xff0c;实则融合了传感器技术、电机控制、逻辑编程等多个核心知识点。不同于市面上大多数教程只停留在基…...

别再只用欧氏距离了!用Python+NumPy实战马氏距离异常检测(附卡方分布阈值设定)

用Python实战马氏距离异常检测&#xff1a;从理论到工业级实现 在数据分析领域&#xff0c;距离度量是许多算法的基石。当数据维度升高且特征间存在相关性时&#xff0c;传统的欧氏距离就像用一把没有刻度的尺子测量复杂空间——它无法捕捉变量间的相互作用。想象一下金融交易监…...

QMCDecode终极指南:3步破解QQ音乐加密格式,实现音频自由播放

QMCDecode终极指南&#xff1a;3步破解QQ音乐加密格式&#xff0c;实现音频自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录…...

GTE中文文本嵌入模型实战教程:与LangChain集成构建中文RAG流程

GTE中文文本嵌入模型实战教程&#xff1a;与LangChain集成构建中文RAG流程 1. 引言&#xff1a;为什么需要中文文本嵌入模型 在人工智能快速发展的今天&#xff0c;让计算机真正"理解"中文文本变得越来越重要。无论是智能客服、文档检索还是知识问答&#xff0c;都…...

RexUniNLU框架应用案例:SpringBoot集成实现教育平台客服智能意图识别

RexUniNLU框架应用案例&#xff1a;SpringBoot集成实现教育平台客服智能意图识别 1. 教育客服场景的智能化挑战 在线教育平台的客服系统每天需要处理大量用户咨询&#xff0c;从"我的课程怎么打不开"到"想了解编程课的价格"&#xff0c;这些看似简单的提…...

OpenClaw学习路径:从nanobot镜像入门到开发自定义技能

OpenClaw学习路径&#xff1a;从nanobot镜像入门到开发自定义技能 1. 为什么选择OpenClaw作为自动化助手 第一次听说OpenClaw时&#xff0c;我正在为重复性的文件整理工作头疼。作为一个经常需要处理大量技术文档的开发者&#xff0c;每天要花费数小时在机械的文件分类、重命…...

零基础玩转Qwen-Image-Edit-2511-Unblur-Upscale:模糊图片秒变清晰

零基础玩转Qwen-Image-Edit-2511-Unblur-Upscale&#xff1a;模糊图片秒变清晰 你是否遇到过这样的烦恼&#xff1f;手机里珍藏的老照片因为年代久远变得模糊不清&#xff0c;或者抓拍的精彩瞬间因为手抖而糊成一片。又或者&#xff0c;你从网上下载了一张心仪的图片&#xff…...