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,使用sh脚本方法 sh的编写 echo $(getprop vendor.rga_api.version) 其中,vendor.rga_api.version是关键字 相关方法也有两种,一种是从sh脚本读取流,一种是指令很少的,直接读取字符串化…...

密码学【一】
前言 在区块链的整个体系中大量使用了密码学算法,比如用于 PoW 的哈希算法,用于完整性验证的 Merkle Tree,用于交易签名与验证的数字签名算法,用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石,而区…...
企业如何选择舆情优化处置公司?
随着互联网的发展成熟,网络上的信息量已经非常之巨大,网络上的海量信息有对企业有利的,其实也有一些企业经营不利的,让不利的信息下沉,让有利的信息排上搜索首页,这就是舆情优化的简单表述。 对于大中型企业…...

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

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

vite + react + typescript + uni-app + node 开发一个生态系统
简介 使用 vite react typescript uni-app node 来开发一个简易的生态系统案例,包含 APP,H5,微信小程序,控制台,服务端 开发 admin 技术栈:vite react typescript初始化控制台项目选择自定义预设…...
python pdf文件转图片
在Python中,有很多的第三方库可以用于PDF文件的转换,比如PyPDF2和pdf2image。 其中PyPDF2可以从PDF文件中提取每一页并将其保存为图像文件,需要安装Pillow库。 pdf2image则直接将PDF文件转换为PNG或JPEG图像文件,可以使用ImageM…...

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

SpringMVC系列(七)之自定义注解
目录 一. Java注解简介 1.1 Java注解分类 1.2 JDK基本注解 Override Deprecated SuppressWarnings 1.3 JDK元注解 从 Java 7 开始,额外添加了 3 个注解: 1.4 自定义注解 如何自定义注解? 二. 自定义注解示例 枚举类: 示例一&…...

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
前言 计算机组成原理及体系结构 数据的表示 进制的转换 原码反码补码移码 最高位是符号位,负数符号位为1 反码补码正数和原码一样,负数有区别 反码符号位不动,其他位置取反 补码在反码基础上加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 监听事件 ,在同一个虚拟机中如何保证顺序执行1. 设计原理2. 具体编码2.1. 编码事件监听器2.2. 制作一个生成序号方法2.3. 制作测试代码2.4. 测试结果 前言 如果您觉得有用的话,记得给博主点个赞,评论,…...

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

linux驱动开发day6--(epoll实现IO多路复用、信号驱动IO、设备树以及节点和属性解析相关API使用)
一、IO多路复用--epoll实现 1.核心: 红黑树、一张表以及三个接口、 2.实现过程及API 1)创建epoll句柄/创建红黑树根节点 int epfdepoll_create(int size--无意义,>0即可)----------成功:返回根节点对应文件描述符…...

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. 创建多线程的方式创建线程有哪几种方式?2.1 通过继承Thread类来创建并启动线程的步骤如下:2.2 通过实现Runnable接口来创建并启动线程的步骤如下:2.3 通过实现…...

信息化项目验收的依据、内容和验收测评报告
随着信息系统业务覆盖率的提高和深度整合创新的逐步提高,信息系统运行阶段的复杂性和资源比例逐渐增加。一方面,信息已成为业务创新、技术应用和运营服务的综合体,而不仅仅是技术平台建设。另一方面,信息采购是技术平台建设。另一…...

解决IntelliJ IDEA执行maven打包,执行java -jar命令提示jar中没有主清单属性
问题场景 IDEA执行mvn clean package -DskipTesttrue命令或者借助工具的Maven菜单进行打包操作,然后执行java -jar app.jar命令后,提示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…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...